diff options
Diffstat (limited to 'libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx')
-rw-r--r-- | libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx index 0a8f99a..a9d01f1 100644 --- a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx +++ b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx @@ -458,7 +458,20 @@ namespace xsde facets_.enum_ = 0; facets_.enum_count_ = 0; + +#ifdef XSDE_REGEXP + facets_.pattern_set_ = 0; +#endif + } + +#ifdef XSDE_REGEXP + inline string_facets:: + ~string_facets () + { + if (facets_.pattern_set_ == 2) + xmlRegFreeRegexp (facets_.pattern_.regexp); } +#endif inline void string_facets:: _length_facet (size_t v) @@ -494,6 +507,20 @@ namespace xsde facets_.enum_count_ = count; } +#ifndef XSDE_REGEXP + inline void string_facets:: + _pattern_facet (const char*) + { + } +#else + inline void string_facets:: + _pattern_facet (const char* s) + { + facets_.pattern_.str = s; + facets_.pattern_set_ = 1; + } +#endif + // string_pskel // #ifdef XSDE_REUSE_STYLE_TIEIN |