summaryrefslogtreecommitdiff
path: root/libxsd/xsd/cxx/parser/expat/elements.txx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2014-07-24 12:40:01 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2014-07-24 12:40:01 +0200
commit94cba986108a0e0f42295572ca42c356d59328d7 (patch)
treeada11354802ef98572cfc7041075766666e472be /libxsd/xsd/cxx/parser/expat/elements.txx
parent19a0faf4316a89e0a4ced32b8d3ea4b4ba9c3b18 (diff)
Fix bug in C++/Parser Expat support
Diffstat (limited to 'libxsd/xsd/cxx/parser/expat/elements.txx')
-rw-r--r--libxsd/xsd/cxx/parser/expat/elements.txx11
1 files changed, 7 insertions, 4 deletions
diff --git a/libxsd/xsd/cxx/parser/expat/elements.txx b/libxsd/xsd/cxx/parser/expat/elements.txx
index d3fc0d9..ef9adb7 100644
--- a/libxsd/xsd/cxx/parser/expat/elements.txx
+++ b/libxsd/xsd/cxx/parser/expat/elements.txx
@@ -283,9 +283,10 @@ namespace xsd
throw std::bad_alloc ();
if (system_id || public_id)
- parse_begin (parser, system_id ? *system_id : *public_id, eh);
+ parse_begin (
+ parser.get (), system_id ? *system_id : *public_id, eh);
else
- parse_begin (parser, eh);
+ parse_begin (parser.get (), eh);
// Temporarily unset the exception failbit. Also clear the
// fail bit when we reset the old state if it was caused
@@ -310,8 +311,10 @@ namespace xsd
break;
}
- if (XML_Parse (
- parser, buf, is.gcount (), is.eof ()) == XML_STATUS_ERROR)
+ if (XML_Parse (parser.get (),
+ buf,
+ is.gcount (),
+ is.eof ()) == XML_STATUS_ERROR)
{
r = false;
break;