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