mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-30 22:43:14 +03:00
use the character() SAX callback if the cdataBlock ain't defined. fix bug
* parser.c HTMLparser.c: use the character() SAX callback if the cdataBlock ain't defined. * xpath.c: fix bug #115349 allowing compilation when configured with --without-xpath since the Schemas code needs NAN and co. Daniel
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
Sat Jul 5 22:30:25 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
|
* parser.c HTMLparser.c: use the character() SAX callback
|
||||||
|
if the cdataBlock ain't defined.
|
||||||
|
* xpath.c: fix bug #115349 allowing compilation when configured
|
||||||
|
with --without-xpath since the Schemas code needs NAN and co.
|
||||||
|
|
||||||
Sat Jul 5 00:51:30 HKT 2003 William Brack <wbrack@mmm.com.hk>
|
Sat Jul 5 00:51:30 HKT 2003 William Brack <wbrack@mmm.com.hk>
|
||||||
|
|
||||||
Fixed problem with multi-threading, shown by the test program
|
Fixed problem with multi-threading, shown by the test program
|
||||||
|
@ -2688,6 +2688,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
|||||||
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
||||||
*/
|
*/
|
||||||
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
||||||
|
} else if (ctxt->sax->characters != NULL) {
|
||||||
|
ctxt->sax->characters(ctxt->userData, buf, nbchar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nbchar = 0;
|
nbchar = 0;
|
||||||
@ -2712,6 +2714,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
|||||||
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
||||||
*/
|
*/
|
||||||
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
||||||
|
} else if (ctxt->sax->characters != NULL) {
|
||||||
|
ctxt->sax->characters(ctxt->userData, buf, nbchar);
|
||||||
}
|
}
|
||||||
nbchar = 0;
|
nbchar = 0;
|
||||||
}
|
}
|
||||||
@ -2732,6 +2736,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
|||||||
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
||||||
*/
|
*/
|
||||||
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
||||||
|
} else if (ctxt->sax->characters != NULL) {
|
||||||
|
ctxt->sax->characters(ctxt->userData, buf, nbchar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
10
parser.c
10
parser.c
@ -8790,7 +8790,12 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
|
|||||||
if (avail >= XML_PARSER_BIG_BUFFER_SIZE + 2) {
|
if (avail >= XML_PARSER_BIG_BUFFER_SIZE + 2) {
|
||||||
if ((ctxt->sax != NULL) && (!ctxt->disableSAX)) {
|
if ((ctxt->sax != NULL) && (!ctxt->disableSAX)) {
|
||||||
if (ctxt->sax->cdataBlock != NULL)
|
if (ctxt->sax->cdataBlock != NULL)
|
||||||
ctxt->sax->cdataBlock(ctxt->userData, ctxt->input->cur,
|
ctxt->sax->cdataBlock(ctxt->userData,
|
||||||
|
ctxt->input->cur,
|
||||||
|
XML_PARSER_BIG_BUFFER_SIZE);
|
||||||
|
else if (ctxt->sax->characters != NULL)
|
||||||
|
ctxt->sax->characters(ctxt->userData,
|
||||||
|
ctxt->input->cur,
|
||||||
XML_PARSER_BIG_BUFFER_SIZE);
|
XML_PARSER_BIG_BUFFER_SIZE);
|
||||||
}
|
}
|
||||||
SKIP(XML_PARSER_BIG_BUFFER_SIZE);
|
SKIP(XML_PARSER_BIG_BUFFER_SIZE);
|
||||||
@ -8803,6 +8808,9 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
|
|||||||
if (ctxt->sax->cdataBlock != NULL)
|
if (ctxt->sax->cdataBlock != NULL)
|
||||||
ctxt->sax->cdataBlock(ctxt->userData,
|
ctxt->sax->cdataBlock(ctxt->userData,
|
||||||
ctxt->input->cur, base);
|
ctxt->input->cur, base);
|
||||||
|
else if (ctxt->sax->characters != NULL)
|
||||||
|
ctxt->sax->characters(ctxt->userData,
|
||||||
|
ctxt->input->cur, base);
|
||||||
}
|
}
|
||||||
SKIP(base + 3);
|
SKIP(base + 3);
|
||||||
ctxt->checkIndex = 0;
|
ctxt->checkIndex = 0;
|
||||||
|
54
xpath.c
54
xpath.c
@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
#define IN_LIBXML
|
#define IN_LIBXML
|
||||||
#include "libxml.h"
|
#include "libxml.h"
|
||||||
#ifdef LIBXML_XPATH_ENABLED
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -53,32 +52,6 @@
|
|||||||
#include <libxml/threads.h>
|
#include <libxml/threads.h>
|
||||||
#include <libxml/globals.h>
|
#include <libxml/globals.h>
|
||||||
|
|
||||||
/*
|
|
||||||
* TODO: when compatibility allows remove all "fake node libxslt" strings
|
|
||||||
* the test should just be name[0] = ' '
|
|
||||||
*/
|
|
||||||
/* #define DEBUG */
|
|
||||||
/* #define DEBUG_STEP */
|
|
||||||
/* #define DEBUG_STEP_NTH */
|
|
||||||
/* #define DEBUG_EXPR */
|
|
||||||
/* #define DEBUG_EVAL_COUNTS */
|
|
||||||
|
|
||||||
static xmlNs xmlXPathXMLNamespaceStruct = {
|
|
||||||
NULL,
|
|
||||||
XML_NAMESPACE_DECL,
|
|
||||||
XML_XML_NAMESPACE,
|
|
||||||
BAD_CAST "xml",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
static xmlNsPtr xmlXPathXMLNamespace = &xmlXPathXMLNamespaceStruct;
|
|
||||||
#ifndef LIBXML_THREAD_ENABLED
|
|
||||||
/*
|
|
||||||
* Optimizer is disabled only when threaded apps are detected while
|
|
||||||
* the library ain't compiled for thread safety.
|
|
||||||
*/
|
|
||||||
static int xmlXPathDisableOptimizer = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
* *
|
* *
|
||||||
* Floating point stuff *
|
* Floating point stuff *
|
||||||
@ -162,6 +135,33 @@ xmlXPathGetSign(double val) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef LIBXML_XPATH_ENABLED
|
||||||
|
/*
|
||||||
|
* TODO: when compatibility allows remove all "fake node libxslt" strings
|
||||||
|
* the test should just be name[0] = ' '
|
||||||
|
*/
|
||||||
|
/* #define DEBUG */
|
||||||
|
/* #define DEBUG_STEP */
|
||||||
|
/* #define DEBUG_STEP_NTH */
|
||||||
|
/* #define DEBUG_EXPR */
|
||||||
|
/* #define DEBUG_EVAL_COUNTS */
|
||||||
|
|
||||||
|
static xmlNs xmlXPathXMLNamespaceStruct = {
|
||||||
|
NULL,
|
||||||
|
XML_NAMESPACE_DECL,
|
||||||
|
XML_XML_NAMESPACE,
|
||||||
|
BAD_CAST "xml",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
static xmlNsPtr xmlXPathXMLNamespace = &xmlXPathXMLNamespaceStruct;
|
||||||
|
#ifndef LIBXML_THREAD_ENABLED
|
||||||
|
/*
|
||||||
|
* Optimizer is disabled only when threaded apps are detected while
|
||||||
|
* the library ain't compiled for thread safety.
|
||||||
|
*/
|
||||||
|
static int xmlXPathDisableOptimizer = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
* *
|
* *
|
||||||
* Parser Types *
|
* Parser Types *
|
||||||
|
Reference in New Issue
Block a user