mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
fixed a limit case problem with "<a/>" Daniel
* xmlreader.c python/tests/reader.py: fixed a limit case problem with "<a/>" Daniel
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
Mon Dec 30 12:39:55 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
|
* xmlreader.c python/tests/reader.py: fixed a limit case problem
|
||||||
|
with "<a/>"
|
||||||
|
|
||||||
Mon Dec 30 11:53:44 CET 2002 Daniel Veillard <daniel@veillard.com>
|
Mon Dec 30 11:53:44 CET 2002 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* SAX.c: warn on xmlns:prefix="foo"
|
* SAX.c: warn on xmlns:prefix="foo"
|
||||||
|
@ -301,6 +301,28 @@ if reader.NamespaceUri() != "http://www.w3.org/2000/xmlns/" or \
|
|||||||
print "test7: failed to read the namespace node"
|
print "test7: failed to read the namespace node"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test for a limit case:
|
||||||
|
#
|
||||||
|
f = StringIO.StringIO("""<a/>""")
|
||||||
|
input = libxml2.inputBuffer(f)
|
||||||
|
reader = input.newTextReader("test8")
|
||||||
|
ret = reader.Read()
|
||||||
|
if ret != 1:
|
||||||
|
print "test8: failed to read the node"
|
||||||
|
sys.exit(1)
|
||||||
|
if reader.Name() != "a" or reader.IsEmptyElement() != 1:
|
||||||
|
print "test8: failed to analyze the node"
|
||||||
|
sys.exit(1)
|
||||||
|
ret = reader.Read()
|
||||||
|
if ret != 0:
|
||||||
|
print "test8: failed to detect the EOF"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# cleanup for memory allocation counting
|
||||||
|
#
|
||||||
del f
|
del f
|
||||||
del input
|
del input
|
||||||
del reader
|
del reader
|
||||||
|
@ -264,6 +264,8 @@ xmlTextReaderPushData(xmlTextReaderPtr reader) {
|
|||||||
if (val <= 0) {
|
if (val <= 0) {
|
||||||
reader->mode = XML_TEXTREADER_MODE_EOF;
|
reader->mode = XML_TEXTREADER_MODE_EOF;
|
||||||
reader->state = oldstate;
|
reader->state = oldstate;
|
||||||
|
if ((oldstate != XML_TEXTREADER_START) ||
|
||||||
|
(reader->ctxt->myDoc != NULL))
|
||||||
return(val);
|
return(val);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
|
Reference in New Issue
Block a user