1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-27 12:15:34 +03:00

A bit of cleanups

* tree.c: avoid calling xmlAddID with NULL values
* parser.c: add a few xmlInitParser in some entry points
This commit is contained in:
Daniel Veillard
2009-07-09 08:45:03 +02:00
parent bccae2d210
commit ab2a763db8
3 changed files with 16 additions and 6 deletions

View File

@@ -1,8 +1,13 @@
Thu Jul 9 08:43:06 CEST 2009 Daniel Veillard <daniel@veillard.com>
* tree.c: avoid calling xmlAddID with NULL values
* parser.c: add a few xmlInitParser in some entry points
Thu Jun 4 11:17:23 CEST 2009 Daniel Veillard <daniel@veillard.com>
* c14n.c debugXML.c doc/examples/io2.c parser.c schematron.c
valid.c xmlschemas.c xmlwriter.c xpath.c: use %s to printf string
patch by Christian Persch
patch by Christian Persch, fixes #581612
Thu Jun 4 11:06:07 CEST 2009 Daniel Veillard <daniel@veillard.com>

View File

@@ -13568,6 +13568,8 @@ xmlSAXParseMemoryWithData(xmlSAXHandlerPtr sax, const char *buffer,
xmlDocPtr ret;
xmlParserCtxtPtr ctxt;
xmlInitParser();
ctxt = xmlCreateMemoryParserCtxt(buffer, size);
if (ctxt == NULL) return(NULL);
if (sax != NULL) {
@@ -13593,7 +13595,7 @@ xmlSAXParseMemoryWithData(xmlSAXHandlerPtr sax, const char *buffer,
if (sax != NULL)
ctxt->sax = NULL;
xmlFreeParserCtxt(ctxt);
return(ret);
}
@@ -13656,14 +13658,16 @@ xmlDocPtr xmlRecoverMemory(const char *buffer, int size) {
*
* A better SAX parsing routine.
* parse an XML in-memory buffer and call the given SAX handler routines.
*
*
* Returns 0 in case of success or a error number otherwise
*/
int xmlSAXUserParseMemory(xmlSAXHandlerPtr sax, void *user_data,
const char *buffer, int size) {
int ret = 0;
xmlParserCtxtPtr ctxt;
xmlInitParser();
ctxt = xmlCreateMemoryParserCtxt(buffer, size);
if (ctxt == NULL) return -1;
if (ctxt->sax != (xmlSAXHandlerPtr) &xmlDefaultSAXHandler)
@@ -13673,7 +13677,7 @@ int xmlSAXUserParseMemory(xmlSAXHandlerPtr sax, void *user_data,
if (user_data != NULL)
ctxt->userData = user_data;
xmlParseDocument(ctxt);
if (ctxt->wellFormed)

3
tree.c
View File

@@ -1860,7 +1860,8 @@ xmlNewPropInternal(xmlNodePtr node, xmlNsPtr ns,
}
}
if (xmlIsID((node == NULL) ? NULL : node->doc, node, cur) == 1)
if ((value != NULL) &&
(xmlIsID((node == NULL) ? NULL : node->doc, node, cur) == 1))
xmlAddID(NULL, node->doc, value, cur);
if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))