mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +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>
|
||||
|
||||
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
|
||||
*/
|
||||
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
||||
} else if (ctxt->sax->characters != NULL) {
|
||||
ctxt->sax->characters(ctxt->userData, buf, nbchar);
|
||||
}
|
||||
}
|
||||
nbchar = 0;
|
||||
@ -2712,6 +2714,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
||||
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
||||
*/
|
||||
ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
|
||||
} else if (ctxt->sax->characters != NULL) {
|
||||
ctxt->sax->characters(ctxt->userData, buf, nbchar);
|
||||
}
|
||||
nbchar = 0;
|
||||
}
|
||||
@ -2732,6 +2736,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
||||
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
||||
*/
|
||||
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 ((ctxt->sax != NULL) && (!ctxt->disableSAX)) {
|
||||
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);
|
||||
}
|
||||
SKIP(XML_PARSER_BIG_BUFFER_SIZE);
|
||||
@ -8803,6 +8808,9 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
|
||||
if (ctxt->sax->cdataBlock != NULL)
|
||||
ctxt->sax->cdataBlock(ctxt->userData,
|
||||
ctxt->input->cur, base);
|
||||
else if (ctxt->sax->characters != NULL)
|
||||
ctxt->sax->characters(ctxt->userData,
|
||||
ctxt->input->cur, base);
|
||||
}
|
||||
SKIP(base + 3);
|
||||
ctxt->checkIndex = 0;
|
||||
|
54
xpath.c
54
xpath.c
@ -16,7 +16,6 @@
|
||||
|
||||
#define IN_LIBXML
|
||||
#include "libxml.h"
|
||||
#ifdef LIBXML_XPATH_ENABLED
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@ -53,32 +52,6 @@
|
||||
#include <libxml/threads.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 *
|
||||
@ -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 *
|
||||
|
Reference in New Issue
Block a user