diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-07-26 22:27:58 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-07-26 22:27:58 +0200 |
commit | 3ab30697edac0b02e14783229914c6a76faec366 (patch) | |
tree | 33f3107d0e44226d84d8d179361abba2b3584d95 /debian/patches | |
parent | dd71f862de772e8fa44f7463339353d4e5b57ec0 (diff) |
Fix bug in C++/Parser Expat support
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/0100-C++Parser_Expat_support.patch | 52 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 53 insertions, 0 deletions
diff --git a/debian/patches/0100-C++Parser_Expat_support.patch b/debian/patches/0100-C++Parser_Expat_support.patch new file mode 100644 index 0000000..1caeb5b --- /dev/null +++ b/debian/patches/0100-C++Parser_Expat_support.patch @@ -0,0 +1,52 @@ +Description: Fix bug in C++/Parser Expat support. +Author: Jörg Frings-Fürst <debian@jff-webhosting.net> +Reviewed-by: +Last-Update: 2014-07-26 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx +=================================================================== +--- trunk.orig/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx 2014-07-21 08:36:38.000000000 +0200 ++++ trunk/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx 2014-07-26 21:50:06.000000000 +0200 +@@ -51,7 +51,9 @@ + } + }; + +- typedef std::unique_ptr<XML_ParserStruct> parser_auto_ptr; ++ typedef ++ std::unique_ptr<XML_ParserStruct, parser_deleter> ++ parser_auto_ptr; + #else + // Simple auto pointer for Expat's XML_Parser object. + // +Index: trunk/xsd/libxsd/xsd/cxx/parser/expat/elements.txx +=================================================================== +--- trunk.orig/xsd/libxsd/xsd/cxx/parser/expat/elements.txx 2014-07-21 08:36:38.000000000 +0200 ++++ trunk/xsd/libxsd/xsd/cxx/parser/expat/elements.txx 2014-07-26 21:55:23.000000000 +0200 +@@ -283,9 +283,10 @@ + 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 +@@ -309,9 +310,10 @@ + // + 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; diff --git a/debian/patches/series b/debian/patches/series index 8ac7078..0f2af3c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ +0100-C++Parser_Expat_support.patch 0001-xsd_xsdcxx-rename.patch |