mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-12-24 21:33:51 +03:00
aca16fb3d4
Fix many places where malloc failures aren't reported. Make some API function return an error code. Changing the return type from void to int is technically an ABI break but should be safe on most platforms. - xmlNodeSetContent - xmlNodeSetContentLen - xmlNodeAddContent - xmlNodeAddContentLen - xmlNodeSetBase Introduce new API functions that return a separate error code if a memory allocation fails. - xmlNodeGetAttrValue - xmlNodeGetBaseSafe - xmlGetNsListSafe Introduce private functions xmlTreeEnsureXMLDecl and xmlSplitQName4. Don't report low-level errors to the global error handler. Fix tree Introduce xmlGetNsListSafe Fix tree
36 lines
798 B
Python
Executable File
36 lines
798 B
Python
Executable File
#!/usr/bin/env python3
|
|
import sys
|
|
import setup_test
|
|
import libxml2
|
|
|
|
# Memory debug specific
|
|
libxml2.debugMemory(1)
|
|
|
|
#
|
|
# Testing XML document serialization
|
|
#
|
|
doc = libxml2.readDoc(
|
|
"""<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!DOCTYPE test [
|
|
<!ELEMENT test (#PCDATA) >
|
|
<!ATTLIST test xmlns:abc CDATA #FIXED "http://abc.org" >
|
|
<!ATTLIST test abc:attr CDATA #FIXED "def" >
|
|
]>
|
|
<test />
|
|
""", None, None, libxml2.XML_PARSE_DTDATTR)
|
|
elem = doc.getRootElement()
|
|
attr = elem.hasNsProp('attr', 'http://abc.org')
|
|
print(attr.serialize())
|
|
if attr == None:
|
|
print("Failed to find defaulted attribute abc:attr")
|
|
sys.exit(1)
|
|
|
|
doc.freeDoc()
|
|
|
|
# Memory debug specific
|
|
libxml2.cleanupParser()
|
|
if libxml2.debugMemory(1) == 0:
|
|
print("OK")
|
|
else:
|
|
print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
|