mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-29 21:46:59 +03:00
Cleanups, 1 bug fix:
- HTMLparser.c: fixed htmlStartCloseIndexinitialized init - entities.h: exported xmlInitializePredefinedEntities - parser.[ch] : added xmlInitParser() - parserInternals.h : had to export htmlInitAutoClose() Daniel
This commit is contained in:
parent
f09e7e35de
commit
bc765307ff
@ -1,3 +1,10 @@
|
||||
Sun Oct 1 20:19:39 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
|
||||
|
||||
* HTMLparser.c: fixed htmlStartCloseIndexinitialized init
|
||||
* entities.h: exported xmlInitializePredefinedEntities
|
||||
* parser.[ch] : added xmlInitParser()
|
||||
* parserInternals.h : had to export htmlInitAutoClose()
|
||||
|
||||
Sun Oct 1 16:28:22 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
|
||||
|
||||
* xpath.[ch] : fixed some serious XPath Predicate evaluation
|
||||
|
@ -579,7 +579,8 @@ static int htmlStartCloseIndexinitialized = 0;
|
||||
* htmlInitAutoClose:
|
||||
*
|
||||
* Initialize the htmlStartCloseIndex for fast lookup of closing tags names.
|
||||
*
|
||||
* This is not reentrant. Call xmlInitParser() once before processing in
|
||||
* case of use in multithreaded programs.
|
||||
*/
|
||||
void
|
||||
htmlInitAutoClose(void) {
|
||||
@ -594,6 +595,7 @@ htmlInitAutoClose(void) {
|
||||
while (htmlStartClose[i] != NULL) i++;
|
||||
i++;
|
||||
}
|
||||
htmlStartCloseIndexinitialized = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -86,6 +86,7 @@ struct _xmlEntitiesTable {
|
||||
* External functions :
|
||||
*/
|
||||
|
||||
void xmlInitializePredefinedEntities (void);
|
||||
xmlEntityPtr xmlAddDocEntity (xmlDocPtr doc,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
|
@ -86,6 +86,7 @@ struct _xmlEntitiesTable {
|
||||
* External functions :
|
||||
*/
|
||||
|
||||
void xmlInitializePredefinedEntities (void);
|
||||
xmlEntityPtr xmlAddDocEntity (xmlDocPtr doc,
|
||||
const xmlChar *name,
|
||||
int type,
|
||||
|
@ -310,8 +310,9 @@ extern int xmlGetWarningsDefaultValue;
|
||||
|
||||
|
||||
/**
|
||||
* Cleanup
|
||||
* Init/Cleanup
|
||||
*/
|
||||
void xmlInitParser (void);
|
||||
void xmlCleanupParser (void);
|
||||
|
||||
/**
|
||||
|
@ -287,6 +287,13 @@ int xmlCopyChar (int len,
|
||||
int val);
|
||||
void xmlNextChar (xmlParserCtxtPtr ctxt);
|
||||
void xmlParserInputShrink (xmlParserInputPtr in);
|
||||
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
/*
|
||||
* Actually comes from the HTML parser but launched from the init stuff
|
||||
*/
|
||||
void htmlInitAutoClose (void);
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
27
parser.c
27
parser.c
@ -6909,7 +6909,7 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
|
||||
xmlChar start[4];
|
||||
xmlCharEncoding enc;
|
||||
|
||||
xmlDefaultSAXHandlerInit();
|
||||
xmlInitParser();
|
||||
|
||||
GROW;
|
||||
|
||||
@ -9477,6 +9477,30 @@ xmlParseDoc(xmlChar *cur) {
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
static int xmlParserInitialized = 0;
|
||||
|
||||
/**
|
||||
* xmlInitParser:
|
||||
*
|
||||
* Initialization function for the XML parser.
|
||||
* This is not reentrant. Call once before processing in case of
|
||||
* use in multithreaded programs.
|
||||
*/
|
||||
|
||||
void
|
||||
xmlInitParser(void) {
|
||||
if (xmlParserInitialized) return;
|
||||
|
||||
xmlInitCharEncodingHandlers();
|
||||
xmlInitializePredefinedEntities();
|
||||
xmlDefaultSAXHandlerInit();
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
htmlInitAutoClose();
|
||||
htmlDefaultSAXHandlerInit();
|
||||
#endif
|
||||
xmlParserInitialized = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlCleanupParser:
|
||||
*
|
||||
@ -9488,6 +9512,7 @@ xmlParseDoc(xmlChar *cur) {
|
||||
|
||||
void
|
||||
xmlCleanupParser(void) {
|
||||
xmlParserInitialized = 0;
|
||||
xmlCleanupCharEncodingHandlers();
|
||||
xmlCleanupPredefinedEntities();
|
||||
}
|
||||
|
3
parser.h
3
parser.h
@ -310,8 +310,9 @@ extern int xmlGetWarningsDefaultValue;
|
||||
|
||||
|
||||
/**
|
||||
* Cleanup
|
||||
* Init/Cleanup
|
||||
*/
|
||||
void xmlInitParser (void);
|
||||
void xmlCleanupParser (void);
|
||||
|
||||
/**
|
||||
|
@ -287,6 +287,13 @@ int xmlCopyChar (int len,
|
||||
int val);
|
||||
void xmlNextChar (xmlParserCtxtPtr ctxt);
|
||||
void xmlParserInputShrink (xmlParserInputPtr in);
|
||||
|
||||
#ifdef LIBXML_HTML_ENABLED
|
||||
/*
|
||||
* Actually comes from the HTML parser but launched from the init stuff
|
||||
*/
|
||||
void htmlInitAutoClose (void);
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user