aboutsummaryrefslogtreecommitdiff
path: root/libxsde/xsde/cxx/parser/validating/string-common.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'libxsde/xsde/cxx/parser/validating/string-common.cxx')
-rw-r--r--libxsde/xsde/cxx/parser/validating/string-common.cxx12
1 files changed, 7 insertions, 5 deletions
diff --git a/libxsde/xsde/cxx/parser/validating/string-common.cxx b/libxsde/xsde/cxx/parser/validating/string-common.cxx
index 15956f6..e226766 100644
--- a/libxsde/xsde/cxx/parser/validating/string-common.cxx
+++ b/libxsde/xsde/cxx/parser/validating/string-common.cxx
@@ -14,7 +14,7 @@ namespace xsde
{
namespace validating
{
- void string_common::
+ bool string_common::
validate_facets (const char* s,
size_t n,
const string_facets::facets& f,
@@ -23,19 +23,19 @@ namespace xsde
if (f.length_set_ && n != f.length_)
{
ctx.schema_error (schema_error::length_not_equal_prescribed);
- return;
+ return false;
}
if (f.min_length_set_ && n < f.min_length_)
{
ctx.schema_error (schema_error::length_less_than_min);
- return;
+ return false;
}
if (f.max_length_set_ && n > f.max_length_)
{
ctx.schema_error (schema_error::length_greater_than_max);
- return;
+ return false;
}
if (f.enum_count_ != 0)
@@ -51,9 +51,11 @@ namespace xsde
if (i == f.enum_count_)
{
ctx.schema_error (schema_error::value_not_in_enumeration);
- return;
+ return false;
}
}
+
+ return true;
}
}
}