summaryrefslogtreecommitdiff
path: root/parser.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2005-06-09 08:18:24 +0000
committerDaniel Veillard <veillard@src.gnome.org>2005-06-09 08:18:24 +0000
commit365cf67ff812caf2f3edc7c52955c4ffa8fb2597 (patch)
tree44ec1eda460c87c18751258ace907776aefbbcfb /parser.c
parentd892557d993be0ae7d1d5c817fbec680844b30db (diff)
downloadlibxml2-365cf67ff812caf2f3edc7c52955c4ffa8fb2597.tar.gz
applied patch from Malcolm Rowe to avoid namespace troubles on rollback
* parser.c: applied patch from Malcolm Rowe to avoid namespace troubles on rollback parsing of elements start #304761 * test/nsclean.xml result/noent/nsclean.xml result/nsclean.xml*: added it to the regression tests. Daniel
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/parser.c b/parser.c
index b0d9f688..352ffa37 100644
--- a/parser.c
+++ b/parser.c
@@ -7535,6 +7535,7 @@ xmlParseStartTag2(xmlParserCtxtPtr ctxt, const xmlChar **pref,
int i, j, nbNs, attval;
const xmlChar *base;
unsigned long cur;
+ int nsNr = ctxt->nsNr;
if (RAW != '<') return(NULL);
NEXT1;
@@ -7555,6 +7556,8 @@ reparse:
nbdef = 0;
nbNs = 0;
attval = 0;
+ /* Forget any namespaces added during an earlier parse of this element. */
+ ctxt->nsNr = nsNr;
localname = xmlParseQName(ctxt, &prefix);
if (localname == NULL) {