mirror of
				https://gitlab.gnome.org/GNOME/libxml2.git
				synced 2025-10-30 10:45:36 +03:00 
			
		
		
		
	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)))
 |