diff options
author | wawaka <[email protected]> | 2022-02-10 16:47:48 +0300 |
---|---|---|
committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:47:48 +0300 |
commit | ed524783c88c81047033c5d6e5543db3a2251ad5 (patch) | |
tree | 5c595c0ac1b14fbb70e7e71df44b52e47f850387 /contrib/libs/libxml/globals.c | |
parent | 11ec0273ab97c87692cd0004865c7f24d14f9902 (diff) |
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/libxml/globals.c')
-rw-r--r-- | contrib/libs/libxml/globals.c | 2212 |
1 files changed, 1106 insertions, 1106 deletions
diff --git a/contrib/libs/libxml/globals.c b/contrib/libs/libxml/globals.c index 7bf985f487a..89ae99e48d3 100644 --- a/contrib/libs/libxml/globals.c +++ b/contrib/libs/libxml/globals.c @@ -1,129 +1,129 @@ -/* - * globals.c: definition and handling of the set of global variables - * of the library - * - * The bottom of this file is automatically generated by build_glob.py - * based on the description file global.data - * - * See Copyright for the status of this software. - * - * Gary Pennington <[email protected]> - */ - -#define IN_LIBXML -#include "libxml.h" - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#include <string.h> - -#include <libxml/globals.h> -#include <libxml/xmlmemory.h> -#include <libxml/threads.h> - -/* #define DEBUG_GLOBALS */ - -/* - * Helpful Macro - */ -#ifdef LIBXML_THREAD_ENABLED -#define IS_MAIN_THREAD (xmlIsMainThread()) -#else -#define IS_MAIN_THREAD 1 -#endif - -/* - * Mutex to protect "ForNewThreads" variables - */ -static xmlMutexPtr xmlThrDefMutex = NULL; - -/** - * xmlInitGlobals: - * - * Additional initialisation for multi-threading - */ -void xmlInitGlobals(void) -{ - if (xmlThrDefMutex == NULL) - xmlThrDefMutex = xmlNewMutex(); -} - -/** - * xmlCleanupGlobals: - * - * Additional cleanup for multi-threading - */ -void xmlCleanupGlobals(void) -{ - if (xmlThrDefMutex != NULL) { - xmlFreeMutex(xmlThrDefMutex); - xmlThrDefMutex = NULL; - } - __xmlGlobalInitMutexDestroy(); -} - -/************************************************************************ - * * - * All the user accessible global variables of the library * - * * - ************************************************************************/ - -/* - * Memory allocation routines - */ -#undef xmlFree -#undef xmlMalloc -#undef xmlMallocAtomic -#undef xmlMemStrdup -#undef xmlRealloc - -#if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY) -xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree; -xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc; -xmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc; -xmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc; -xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; -#else -/** - * xmlFree: - * @mem: an already allocated block of memory - * - * The variable holding the libxml free() implementation - */ +/* + * globals.c: definition and handling of the set of global variables + * of the library + * + * The bottom of this file is automatically generated by build_glob.py + * based on the description file global.data + * + * See Copyright for the status of this software. + * + * Gary Pennington <[email protected]> + */ + +#define IN_LIBXML +#include "libxml.h" + +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#include <string.h> + +#include <libxml/globals.h> +#include <libxml/xmlmemory.h> +#include <libxml/threads.h> + +/* #define DEBUG_GLOBALS */ + +/* + * Helpful Macro + */ +#ifdef LIBXML_THREAD_ENABLED +#define IS_MAIN_THREAD (xmlIsMainThread()) +#else +#define IS_MAIN_THREAD 1 +#endif + +/* + * Mutex to protect "ForNewThreads" variables + */ +static xmlMutexPtr xmlThrDefMutex = NULL; + +/** + * xmlInitGlobals: + * + * Additional initialisation for multi-threading + */ +void xmlInitGlobals(void) +{ + if (xmlThrDefMutex == NULL) + xmlThrDefMutex = xmlNewMutex(); +} + +/** + * xmlCleanupGlobals: + * + * Additional cleanup for multi-threading + */ +void xmlCleanupGlobals(void) +{ + if (xmlThrDefMutex != NULL) { + xmlFreeMutex(xmlThrDefMutex); + xmlThrDefMutex = NULL; + } + __xmlGlobalInitMutexDestroy(); +} + +/************************************************************************ + * * + * All the user accessible global variables of the library * + * * + ************************************************************************/ + +/* + * Memory allocation routines + */ +#undef xmlFree +#undef xmlMalloc +#undef xmlMallocAtomic +#undef xmlMemStrdup +#undef xmlRealloc + +#if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY) +xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree; +xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc; +xmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc; +xmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc; +xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; +#else +/** + * xmlFree: + * @mem: an already allocated block of memory + * + * The variable holding the libxml free() implementation + */ xmlFreeFunc xmlFree = free; -/** - * xmlMalloc: - * @size: the size requested in bytes - * - * The variable holding the libxml malloc() implementation - * - * Returns a pointer to the newly allocated block or NULL in case of error - */ +/** + * xmlMalloc: + * @size: the size requested in bytes + * + * The variable holding the libxml malloc() implementation + * + * Returns a pointer to the newly allocated block or NULL in case of error + */ xmlMallocFunc xmlMalloc = malloc; -/** - * xmlMallocAtomic: - * @size: the size requested in bytes - * - * The variable holding the libxml malloc() implementation for atomic +/** + * xmlMallocAtomic: + * @size: the size requested in bytes + * + * The variable holding the libxml malloc() implementation for atomic * data (i.e. blocks not containing pointers), useful when using a - * garbage collecting allocator. - * - * Returns a pointer to the newly allocated block or NULL in case of error - */ + * garbage collecting allocator. + * + * Returns a pointer to the newly allocated block or NULL in case of error + */ xmlMallocFunc xmlMallocAtomic = malloc; -/** - * xmlRealloc: - * @mem: an already allocated block of memory - * @size: the new size requested in bytes - * - * The variable holding the libxml realloc() implementation - * - * Returns a pointer to the newly reallocated block or NULL in case of error - */ +/** + * xmlRealloc: + * @mem: an already allocated block of memory + * @size: the new size requested in bytes + * + * The variable holding the libxml realloc() implementation + * + * Returns a pointer to the newly reallocated block or NULL in case of error + */ xmlReallocFunc xmlRealloc = realloc; -/** +/** * xmlPosixStrdup * @cur: the input char * * @@ -136,991 +136,991 @@ xmlPosixStrdup(const char *cur) { return((char*) xmlCharStrdup(cur)); } /** - * xmlMemStrdup: - * @str: a zero terminated string - * - * The variable holding the libxml strdup() implementation - * - * Returns the copy of the string or NULL in case of error - */ + * xmlMemStrdup: + * @str: a zero terminated string + * + * The variable holding the libxml strdup() implementation + * + * Returns the copy of the string or NULL in case of error + */ xmlStrdupFunc xmlMemStrdup = xmlPosixStrdup; -#endif /* DEBUG_MEMORY_LOCATION || DEBUG_MEMORY */ - -#include <libxml/threads.h> -#include <libxml/globals.h> -#include <libxml/SAX.h> - -#undef docbDefaultSAXHandler -#undef htmlDefaultSAXHandler -#undef oldXMLWDcompatibility -#undef xmlBufferAllocScheme -#undef xmlDefaultBufferSize -#undef xmlDefaultSAXHandler -#undef xmlDefaultSAXLocator -#undef xmlDoValidityCheckingDefaultValue -#undef xmlGenericError -#undef xmlStructuredError -#undef xmlGenericErrorContext -#undef xmlStructuredErrorContext -#undef xmlGetWarningsDefaultValue -#undef xmlIndentTreeOutput -#undef xmlTreeIndentString -#undef xmlKeepBlanksDefaultValue -#undef xmlLineNumbersDefaultValue -#undef xmlLoadExtDtdDefaultValue -#undef xmlParserDebugEntities -#undef xmlParserVersion -#undef xmlPedanticParserDefaultValue -#undef xmlSaveNoEmptyTags -#undef xmlSubstituteEntitiesDefaultValue -#undef xmlRegisterNodeDefaultValue -#undef xmlDeregisterNodeDefaultValue -#undef xmlLastError - -#undef xmlParserInputBufferCreateFilenameValue -#undef xmlOutputBufferCreateFilenameValue -/** - * xmlParserVersion: - * - * Constant string describing the internal version of the library - */ -const char *xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA; - -/** - * xmlBufferAllocScheme: - * - * Global setting, default allocation policy for buffers, default is - * XML_BUFFER_ALLOC_EXACT - */ -xmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT; -static xmlBufferAllocationScheme xmlBufferAllocSchemeThrDef = XML_BUFFER_ALLOC_EXACT; -/** - * xmlDefaultBufferSize: - * - * Global setting, default buffer size. Default value is BASE_BUFFER_SIZE - */ -int xmlDefaultBufferSize = BASE_BUFFER_SIZE; -static int xmlDefaultBufferSizeThrDef = BASE_BUFFER_SIZE; - -/* - * Parser defaults - */ - -/** - * oldXMLWDcompatibility: - * - * Global setting, DEPRECATED. - */ -int oldXMLWDcompatibility = 0; /* DEPRECATED */ -/** - * xmlParserDebugEntities: - * - * Global setting, asking the parser to print out debugging informations. - * while handling entities. - * Disabled by default - */ -int xmlParserDebugEntities = 0; -static int xmlParserDebugEntitiesThrDef = 0; -/** - * xmlDoValidityCheckingDefaultValue: - * - * Global setting, indicate that the parser should work in validating mode. - * Disabled by default. - */ -int xmlDoValidityCheckingDefaultValue = 0; -static int xmlDoValidityCheckingDefaultValueThrDef = 0; -/** - * xmlGetWarningsDefaultValue: - * - * Global setting, indicate that the parser should provide warnings. - * Activated by default. - */ -int xmlGetWarningsDefaultValue = 1; -static int xmlGetWarningsDefaultValueThrDef = 1; -/** - * xmlLoadExtDtdDefaultValue: - * - * Global setting, indicate that the parser should load DTD while not - * validating. - * Disabled by default. - */ -int xmlLoadExtDtdDefaultValue = 0; -static int xmlLoadExtDtdDefaultValueThrDef = 0; -/** - * xmlPedanticParserDefaultValue: - * - * Global setting, indicate that the parser be pedantic - * Disabled by default. - */ -int xmlPedanticParserDefaultValue = 0; -static int xmlPedanticParserDefaultValueThrDef = 0; -/** - * xmlLineNumbersDefaultValue: - * - * Global setting, indicate that the parser should store the line number - * in the content field of elements in the DOM tree. - * Disabled by default since this may not be safe for old classes of +#endif /* DEBUG_MEMORY_LOCATION || DEBUG_MEMORY */ + +#include <libxml/threads.h> +#include <libxml/globals.h> +#include <libxml/SAX.h> + +#undef docbDefaultSAXHandler +#undef htmlDefaultSAXHandler +#undef oldXMLWDcompatibility +#undef xmlBufferAllocScheme +#undef xmlDefaultBufferSize +#undef xmlDefaultSAXHandler +#undef xmlDefaultSAXLocator +#undef xmlDoValidityCheckingDefaultValue +#undef xmlGenericError +#undef xmlStructuredError +#undef xmlGenericErrorContext +#undef xmlStructuredErrorContext +#undef xmlGetWarningsDefaultValue +#undef xmlIndentTreeOutput +#undef xmlTreeIndentString +#undef xmlKeepBlanksDefaultValue +#undef xmlLineNumbersDefaultValue +#undef xmlLoadExtDtdDefaultValue +#undef xmlParserDebugEntities +#undef xmlParserVersion +#undef xmlPedanticParserDefaultValue +#undef xmlSaveNoEmptyTags +#undef xmlSubstituteEntitiesDefaultValue +#undef xmlRegisterNodeDefaultValue +#undef xmlDeregisterNodeDefaultValue +#undef xmlLastError + +#undef xmlParserInputBufferCreateFilenameValue +#undef xmlOutputBufferCreateFilenameValue +/** + * xmlParserVersion: + * + * Constant string describing the internal version of the library + */ +const char *xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA; + +/** + * xmlBufferAllocScheme: + * + * Global setting, default allocation policy for buffers, default is + * XML_BUFFER_ALLOC_EXACT + */ +xmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT; +static xmlBufferAllocationScheme xmlBufferAllocSchemeThrDef = XML_BUFFER_ALLOC_EXACT; +/** + * xmlDefaultBufferSize: + * + * Global setting, default buffer size. Default value is BASE_BUFFER_SIZE + */ +int xmlDefaultBufferSize = BASE_BUFFER_SIZE; +static int xmlDefaultBufferSizeThrDef = BASE_BUFFER_SIZE; + +/* + * Parser defaults + */ + +/** + * oldXMLWDcompatibility: + * + * Global setting, DEPRECATED. + */ +int oldXMLWDcompatibility = 0; /* DEPRECATED */ +/** + * xmlParserDebugEntities: + * + * Global setting, asking the parser to print out debugging informations. + * while handling entities. + * Disabled by default + */ +int xmlParserDebugEntities = 0; +static int xmlParserDebugEntitiesThrDef = 0; +/** + * xmlDoValidityCheckingDefaultValue: + * + * Global setting, indicate that the parser should work in validating mode. + * Disabled by default. + */ +int xmlDoValidityCheckingDefaultValue = 0; +static int xmlDoValidityCheckingDefaultValueThrDef = 0; +/** + * xmlGetWarningsDefaultValue: + * + * Global setting, indicate that the parser should provide warnings. + * Activated by default. + */ +int xmlGetWarningsDefaultValue = 1; +static int xmlGetWarningsDefaultValueThrDef = 1; +/** + * xmlLoadExtDtdDefaultValue: + * + * Global setting, indicate that the parser should load DTD while not + * validating. + * Disabled by default. + */ +int xmlLoadExtDtdDefaultValue = 0; +static int xmlLoadExtDtdDefaultValueThrDef = 0; +/** + * xmlPedanticParserDefaultValue: + * + * Global setting, indicate that the parser be pedantic + * Disabled by default. + */ +int xmlPedanticParserDefaultValue = 0; +static int xmlPedanticParserDefaultValueThrDef = 0; +/** + * xmlLineNumbersDefaultValue: + * + * Global setting, indicate that the parser should store the line number + * in the content field of elements in the DOM tree. + * Disabled by default since this may not be safe for old classes of * application. - */ -int xmlLineNumbersDefaultValue = 0; -static int xmlLineNumbersDefaultValueThrDef = 0; -/** - * xmlKeepBlanksDefaultValue: - * - * Global setting, indicate that the parser should keep all blanks - * nodes found in the content - * Activated by default, this is actually needed to have the parser - * conformant to the XML Recommendation, however the option is kept - * for some applications since this was libxml1 default behaviour. - */ -int xmlKeepBlanksDefaultValue = 1; -static int xmlKeepBlanksDefaultValueThrDef = 1; -/** - * xmlSubstituteEntitiesDefaultValue: - * - * Global setting, indicate that the parser should not generate entity - * references but replace them with the actual content of the entity - * Disabled by default, this should be activated when using XPath since - * the XPath data model requires entities replacement and the XPath - * engine does not handle entities references transparently. - */ -int xmlSubstituteEntitiesDefaultValue = 0; -static int xmlSubstituteEntitiesDefaultValueThrDef = 0; - -xmlRegisterNodeFunc xmlRegisterNodeDefaultValue = NULL; -static xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL; -xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL; -static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL; - -xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL; -static xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL; - -xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL; -static xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL; - -/* - * Error handling - */ - -/* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */ -/* Must initialize xmlGenericError in xmlInitParser */ -void XMLCDECL xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED, - const char *msg, - ...); -/** - * xmlGenericError: - * - * Global setting: function used for generic error callbacks - */ -xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; -static xmlGenericErrorFunc xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; -/** - * xmlStructuredError: - * - * Global setting: function used for structured error callbacks - */ -xmlStructuredErrorFunc xmlStructuredError = NULL; -static xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL; -/** - * xmlGenericErrorContext: - * - * Global setting passed to generic error callbacks - */ -void *xmlGenericErrorContext = NULL; -static void *xmlGenericErrorContextThrDef = NULL; -/** - * xmlStructuredErrorContext: - * - * Global setting passed to structured error callbacks - */ -void *xmlStructuredErrorContext = NULL; -static void *xmlStructuredErrorContextThrDef = NULL; -xmlError xmlLastError; - -/* - * output defaults - */ -/** - * xmlIndentTreeOutput: - * - * Global setting, asking the serializer to indent the output tree by default - * Enabled by default - */ -int xmlIndentTreeOutput = 1; -static int xmlIndentTreeOutputThrDef = 1; - -/** - * xmlTreeIndentString: - * - * The string used to do one-level indent. By default is equal to " " (two spaces) - */ -const char *xmlTreeIndentString = " "; -static const char *xmlTreeIndentStringThrDef = " "; - -/** - * xmlSaveNoEmptyTags: - * - * Global setting, asking the serializer to not output empty tags + */ +int xmlLineNumbersDefaultValue = 0; +static int xmlLineNumbersDefaultValueThrDef = 0; +/** + * xmlKeepBlanksDefaultValue: + * + * Global setting, indicate that the parser should keep all blanks + * nodes found in the content + * Activated by default, this is actually needed to have the parser + * conformant to the XML Recommendation, however the option is kept + * for some applications since this was libxml1 default behaviour. + */ +int xmlKeepBlanksDefaultValue = 1; +static int xmlKeepBlanksDefaultValueThrDef = 1; +/** + * xmlSubstituteEntitiesDefaultValue: + * + * Global setting, indicate that the parser should not generate entity + * references but replace them with the actual content of the entity + * Disabled by default, this should be activated when using XPath since + * the XPath data model requires entities replacement and the XPath + * engine does not handle entities references transparently. + */ +int xmlSubstituteEntitiesDefaultValue = 0; +static int xmlSubstituteEntitiesDefaultValueThrDef = 0; + +xmlRegisterNodeFunc xmlRegisterNodeDefaultValue = NULL; +static xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL; +xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL; +static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL; + +xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL; +static xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL; + +xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL; +static xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL; + +/* + * Error handling + */ + +/* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */ +/* Must initialize xmlGenericError in xmlInitParser */ +void XMLCDECL xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED, + const char *msg, + ...); +/** + * xmlGenericError: + * + * Global setting: function used for generic error callbacks + */ +xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; +static xmlGenericErrorFunc xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; +/** + * xmlStructuredError: + * + * Global setting: function used for structured error callbacks + */ +xmlStructuredErrorFunc xmlStructuredError = NULL; +static xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL; +/** + * xmlGenericErrorContext: + * + * Global setting passed to generic error callbacks + */ +void *xmlGenericErrorContext = NULL; +static void *xmlGenericErrorContextThrDef = NULL; +/** + * xmlStructuredErrorContext: + * + * Global setting passed to structured error callbacks + */ +void *xmlStructuredErrorContext = NULL; +static void *xmlStructuredErrorContextThrDef = NULL; +xmlError xmlLastError; + +/* + * output defaults + */ +/** + * xmlIndentTreeOutput: + * + * Global setting, asking the serializer to indent the output tree by default + * Enabled by default + */ +int xmlIndentTreeOutput = 1; +static int xmlIndentTreeOutputThrDef = 1; + +/** + * xmlTreeIndentString: + * + * The string used to do one-level indent. By default is equal to " " (two spaces) + */ +const char *xmlTreeIndentString = " "; +static const char *xmlTreeIndentStringThrDef = " "; + +/** + * xmlSaveNoEmptyTags: + * + * Global setting, asking the serializer to not output empty tags * as <empty/> but <empty></empty>. those two forms are indistinguishable - * once parsed. - * Disabled by default - */ -int xmlSaveNoEmptyTags = 0; -static int xmlSaveNoEmptyTagsThrDef = 0; - -#ifdef LIBXML_SAX1_ENABLED -/** - * xmlDefaultSAXHandler: - * - * Default SAX version1 handler for XML, builds the DOM tree - */ -xmlSAXHandlerV1 xmlDefaultSAXHandler = { - xmlSAX2InternalSubset, - xmlSAX2IsStandalone, - xmlSAX2HasInternalSubset, - xmlSAX2HasExternalSubset, - xmlSAX2ResolveEntity, - xmlSAX2GetEntity, - xmlSAX2EntityDecl, - xmlSAX2NotationDecl, - xmlSAX2AttributeDecl, - xmlSAX2ElementDecl, - xmlSAX2UnparsedEntityDecl, - xmlSAX2SetDocumentLocator, - xmlSAX2StartDocument, - xmlSAX2EndDocument, - xmlSAX2StartElement, - xmlSAX2EndElement, - xmlSAX2Reference, - xmlSAX2Characters, - xmlSAX2Characters, - xmlSAX2ProcessingInstruction, - xmlSAX2Comment, - xmlParserWarning, - xmlParserError, - xmlParserError, - xmlSAX2GetParameterEntity, - xmlSAX2CDataBlock, - xmlSAX2ExternalSubset, - 0, -}; -#endif /* LIBXML_SAX1_ENABLED */ - -/** - * xmlDefaultSAXLocator: - * - * The default SAX Locator - * { getPublicId, getSystemId, getLineNumber, getColumnNumber} - */ -xmlSAXLocator xmlDefaultSAXLocator = { - xmlSAX2GetPublicId, - xmlSAX2GetSystemId, - xmlSAX2GetLineNumber, - xmlSAX2GetColumnNumber -}; - -#ifdef LIBXML_HTML_ENABLED -/** - * htmlDefaultSAXHandler: - * - * Default old SAX v1 handler for HTML, builds the DOM tree - */ -xmlSAXHandlerV1 htmlDefaultSAXHandler = { - xmlSAX2InternalSubset, - NULL, - NULL, - NULL, - NULL, - xmlSAX2GetEntity, - NULL, - NULL, - NULL, - NULL, - NULL, - xmlSAX2SetDocumentLocator, - xmlSAX2StartDocument, - xmlSAX2EndDocument, - xmlSAX2StartElement, - xmlSAX2EndElement, - NULL, - xmlSAX2Characters, - xmlSAX2IgnorableWhitespace, - xmlSAX2ProcessingInstruction, - xmlSAX2Comment, - xmlParserWarning, - xmlParserError, - xmlParserError, - xmlSAX2GetParameterEntity, - xmlSAX2CDataBlock, - NULL, - 0, -}; -#endif /* LIBXML_HTML_ENABLED */ - -#ifdef LIBXML_DOCB_ENABLED -/** - * docbDefaultSAXHandler: - * - * Default old SAX v1 handler for SGML DocBook, builds the DOM tree - */ -xmlSAXHandlerV1 docbDefaultSAXHandler = { - xmlSAX2InternalSubset, - xmlSAX2IsStandalone, - xmlSAX2HasInternalSubset, - xmlSAX2HasExternalSubset, - xmlSAX2ResolveEntity, - xmlSAX2GetEntity, - xmlSAX2EntityDecl, - NULL, - NULL, - NULL, - NULL, - xmlSAX2SetDocumentLocator, - xmlSAX2StartDocument, - xmlSAX2EndDocument, - xmlSAX2StartElement, - xmlSAX2EndElement, - xmlSAX2Reference, - xmlSAX2Characters, - xmlSAX2IgnorableWhitespace, - NULL, - xmlSAX2Comment, - xmlParserWarning, - xmlParserError, - xmlParserError, - xmlSAX2GetParameterEntity, - NULL, - NULL, - 0, -}; -#endif /* LIBXML_DOCB_ENABLED */ - -/** - * xmlInitializeGlobalState: - * @gs: a pointer to a newly allocated global state - * - * xmlInitializeGlobalState() initialize a global state with all the - * default values of the library. - */ -void -xmlInitializeGlobalState(xmlGlobalStatePtr gs) -{ -#ifdef DEBUG_GLOBALS - fprintf(stderr, "Initializing globals at %lu for thread %d\n", - (unsigned long) gs, xmlGetThreadId()); -#endif - - /* - * Perform initialization as required by libxml - */ - if (xmlThrDefMutex == NULL) - xmlInitGlobals(); - - xmlMutexLock(xmlThrDefMutex); - -#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED) - initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler); -#endif -#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED) - inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler); -#endif - - gs->oldXMLWDcompatibility = 0; - gs->xmlBufferAllocScheme = xmlBufferAllocSchemeThrDef; - gs->xmlDefaultBufferSize = xmlDefaultBufferSizeThrDef; -#if defined(LIBXML_SAX1_ENABLED) && defined(LIBXML_LEGACY_ENABLED) - initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1); -#endif /* LIBXML_SAX1_ENABLED */ - gs->xmlDefaultSAXLocator.getPublicId = xmlSAX2GetPublicId; - gs->xmlDefaultSAXLocator.getSystemId = xmlSAX2GetSystemId; - gs->xmlDefaultSAXLocator.getLineNumber = xmlSAX2GetLineNumber; - gs->xmlDefaultSAXLocator.getColumnNumber = xmlSAX2GetColumnNumber; - gs->xmlDoValidityCheckingDefaultValue = - xmlDoValidityCheckingDefaultValueThrDef; -#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY) - gs->xmlFree = (xmlFreeFunc) xmlMemFree; - gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc; - gs->xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc; - gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc; - gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; -#else - gs->xmlFree = (xmlFreeFunc) free; - gs->xmlMalloc = (xmlMallocFunc) malloc; - gs->xmlMallocAtomic = (xmlMallocFunc) malloc; - gs->xmlRealloc = (xmlReallocFunc) realloc; - gs->xmlMemStrdup = (xmlStrdupFunc) xmlStrdup; -#endif - gs->xmlGetWarningsDefaultValue = xmlGetWarningsDefaultValueThrDef; - gs->xmlIndentTreeOutput = xmlIndentTreeOutputThrDef; - gs->xmlTreeIndentString = xmlTreeIndentStringThrDef; - gs->xmlKeepBlanksDefaultValue = xmlKeepBlanksDefaultValueThrDef; - gs->xmlLineNumbersDefaultValue = xmlLineNumbersDefaultValueThrDef; - gs->xmlLoadExtDtdDefaultValue = xmlLoadExtDtdDefaultValueThrDef; - gs->xmlParserDebugEntities = xmlParserDebugEntitiesThrDef; - gs->xmlParserVersion = LIBXML_VERSION_STRING; - gs->xmlPedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef; - gs->xmlSaveNoEmptyTags = xmlSaveNoEmptyTagsThrDef; - gs->xmlSubstituteEntitiesDefaultValue = - xmlSubstituteEntitiesDefaultValueThrDef; - - gs->xmlGenericError = xmlGenericErrorThrDef; - gs->xmlStructuredError = xmlStructuredErrorThrDef; - gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef; - gs->xmlStructuredErrorContext = xmlStructuredErrorContextThrDef; - gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef; - gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef; - - gs->xmlParserInputBufferCreateFilenameValue = xmlParserInputBufferCreateFilenameValueThrDef; - gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef; - memset(&gs->xmlLastError, 0, sizeof(xmlError)); - - xmlMutexUnlock(xmlThrDefMutex); -} - -/** - * DOC_DISABLE : we ignore missing doc for the xmlThrDef functions, - * those are really internal work - */ -void -xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) { - xmlMutexLock(xmlThrDefMutex); - xmlGenericErrorContextThrDef = ctx; - if (handler != NULL) - xmlGenericErrorThrDef = handler; - else - xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; - xmlMutexUnlock(xmlThrDefMutex); -} - -void -xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) { - xmlMutexLock(xmlThrDefMutex); - xmlStructuredErrorContextThrDef = ctx; - xmlStructuredErrorThrDef = handler; - xmlMutexUnlock(xmlThrDefMutex); -} - -/** - * xmlRegisterNodeDefault: - * @func: function pointer to the new RegisterNodeFunc - * - * Registers a callback for node creation - * - * Returns the old value of the registration function - */ -xmlRegisterNodeFunc -xmlRegisterNodeDefault(xmlRegisterNodeFunc func) -{ - xmlRegisterNodeFunc old = xmlRegisterNodeDefaultValue; - - __xmlRegisterCallbacks = 1; - xmlRegisterNodeDefaultValue = func; - return(old); -} - -xmlRegisterNodeFunc -xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func) -{ - xmlRegisterNodeFunc old; - - xmlMutexLock(xmlThrDefMutex); - old = xmlRegisterNodeDefaultValueThrDef; - - __xmlRegisterCallbacks = 1; - xmlRegisterNodeDefaultValueThrDef = func; - xmlMutexUnlock(xmlThrDefMutex); - - return(old); -} - -/** - * xmlDeregisterNodeDefault: - * @func: function pointer to the new DeregisterNodeFunc - * - * Registers a callback for node destruction - * - * Returns the previous value of the deregistration function - */ -xmlDeregisterNodeFunc -xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func) -{ - xmlDeregisterNodeFunc old = xmlDeregisterNodeDefaultValue; - - __xmlRegisterCallbacks = 1; - xmlDeregisterNodeDefaultValue = func; - return(old); -} - -xmlDeregisterNodeFunc -xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func) -{ - xmlDeregisterNodeFunc old; - - xmlMutexLock(xmlThrDefMutex); - old = xmlDeregisterNodeDefaultValueThrDef; - - __xmlRegisterCallbacks = 1; - xmlDeregisterNodeDefaultValueThrDef = func; - xmlMutexUnlock(xmlThrDefMutex); - - return(old); -} - -xmlParserInputBufferCreateFilenameFunc -xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func) -{ - xmlParserInputBufferCreateFilenameFunc old; - - xmlMutexLock(xmlThrDefMutex); - old = xmlParserInputBufferCreateFilenameValueThrDef; - if (old == NULL) { - old = __xmlParserInputBufferCreateFilename; - } - - xmlParserInputBufferCreateFilenameValueThrDef = func; - xmlMutexUnlock(xmlThrDefMutex); - - return(old); -} - -xmlOutputBufferCreateFilenameFunc -xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func) -{ - xmlOutputBufferCreateFilenameFunc old; - - xmlMutexLock(xmlThrDefMutex); - old = xmlOutputBufferCreateFilenameValueThrDef; -#ifdef LIBXML_OUTPUT_ENABLED - if (old == NULL) { - old = __xmlOutputBufferCreateFilename; - } -#endif - xmlOutputBufferCreateFilenameValueThrDef = func; - xmlMutexUnlock(xmlThrDefMutex); - - return(old); -} - -#ifdef LIBXML_DOCB_ENABLED -#undef docbDefaultSAXHandler -xmlSAXHandlerV1 * -__docbDefaultSAXHandler(void) { - if (IS_MAIN_THREAD) - return (&docbDefaultSAXHandler); - else - return (&xmlGetGlobalState()->docbDefaultSAXHandler); -} -#endif - -#ifdef LIBXML_HTML_ENABLED -#undef htmlDefaultSAXHandler -xmlSAXHandlerV1 * -__htmlDefaultSAXHandler(void) { - if (IS_MAIN_THREAD) - return (&htmlDefaultSAXHandler); - else - return (&xmlGetGlobalState()->htmlDefaultSAXHandler); -} -#endif - -#undef xmlLastError -xmlError * -__xmlLastError(void) { - if (IS_MAIN_THREAD) - return (&xmlLastError); - else - return (&xmlGetGlobalState()->xmlLastError); -} - -/* - * The following memory routines were apparently lost at some point, - * and were re-inserted at this point on June 10, 2004. Hope it's - * the right place for them :-) - */ -#if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED) -#undef xmlMalloc -xmlMallocFunc * -__xmlMalloc(void){ - if (IS_MAIN_THREAD) - return (&xmlMalloc); - else - return (&xmlGetGlobalState()->xmlMalloc); -} - -#undef xmlMallocAtomic -xmlMallocFunc * -__xmlMallocAtomic(void){ - if (IS_MAIN_THREAD) - return (&xmlMallocAtomic); - else - return (&xmlGetGlobalState()->xmlMallocAtomic); -} - -#undef xmlRealloc -xmlReallocFunc * -__xmlRealloc(void){ - if (IS_MAIN_THREAD) - return (&xmlRealloc); - else - return (&xmlGetGlobalState()->xmlRealloc); -} - -#undef xmlFree -xmlFreeFunc * -__xmlFree(void){ - if (IS_MAIN_THREAD) - return (&xmlFree); - else - return (&xmlGetGlobalState()->xmlFree); -} - -xmlStrdupFunc * -__xmlMemStrdup(void){ - if (IS_MAIN_THREAD) - return (&xmlMemStrdup); - else - return (&xmlGetGlobalState()->xmlMemStrdup); -} - -#endif - -/* - * Everything starting from the line below is - * Automatically generated by build_glob.py. - * Do not modify the previous line. - */ - - -#undef oldXMLWDcompatibility -int * -__oldXMLWDcompatibility(void) { - if (IS_MAIN_THREAD) - return (&oldXMLWDcompatibility); - else - return (&xmlGetGlobalState()->oldXMLWDcompatibility); -} - -#undef xmlBufferAllocScheme -xmlBufferAllocationScheme * -__xmlBufferAllocScheme(void) { - if (IS_MAIN_THREAD) - return (&xmlBufferAllocScheme); - else - return (&xmlGetGlobalState()->xmlBufferAllocScheme); -} -xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) { - xmlBufferAllocationScheme ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlBufferAllocSchemeThrDef; - xmlBufferAllocSchemeThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlDefaultBufferSize -int * -__xmlDefaultBufferSize(void) { - if (IS_MAIN_THREAD) - return (&xmlDefaultBufferSize); - else - return (&xmlGetGlobalState()->xmlDefaultBufferSize); -} -int xmlThrDefDefaultBufferSize(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlDefaultBufferSizeThrDef; - xmlDefaultBufferSizeThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#ifdef LIBXML_SAX1_ENABLED -#undef xmlDefaultSAXHandler -xmlSAXHandlerV1 * -__xmlDefaultSAXHandler(void) { - if (IS_MAIN_THREAD) - return (&xmlDefaultSAXHandler); - else - return (&xmlGetGlobalState()->xmlDefaultSAXHandler); -} -#endif /* LIBXML_SAX1_ENABLED */ - -#undef xmlDefaultSAXLocator -xmlSAXLocator * -__xmlDefaultSAXLocator(void) { - if (IS_MAIN_THREAD) - return (&xmlDefaultSAXLocator); - else - return (&xmlGetGlobalState()->xmlDefaultSAXLocator); -} - -#undef xmlDoValidityCheckingDefaultValue -int * -__xmlDoValidityCheckingDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlDoValidityCheckingDefaultValue); - else - return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultValue); -} -int xmlThrDefDoValidityCheckingDefaultValue(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlDoValidityCheckingDefaultValueThrDef; - xmlDoValidityCheckingDefaultValueThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlGenericError -xmlGenericErrorFunc * -__xmlGenericError(void) { - if (IS_MAIN_THREAD) - return (&xmlGenericError); - else - return (&xmlGetGlobalState()->xmlGenericError); -} - -#undef xmlStructuredError -xmlStructuredErrorFunc * -__xmlStructuredError(void) { - if (IS_MAIN_THREAD) - return (&xmlStructuredError); - else - return (&xmlGetGlobalState()->xmlStructuredError); -} - -#undef xmlGenericErrorContext -void * * -__xmlGenericErrorContext(void) { - if (IS_MAIN_THREAD) - return (&xmlGenericErrorContext); - else - return (&xmlGetGlobalState()->xmlGenericErrorContext); -} - -#undef xmlStructuredErrorContext -void * * -__xmlStructuredErrorContext(void) { - if (IS_MAIN_THREAD) - return (&xmlStructuredErrorContext); - else - return (&xmlGetGlobalState()->xmlStructuredErrorContext); -} - -#undef xmlGetWarningsDefaultValue -int * -__xmlGetWarningsDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlGetWarningsDefaultValue); - else - return (&xmlGetGlobalState()->xmlGetWarningsDefaultValue); -} -int xmlThrDefGetWarningsDefaultValue(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlGetWarningsDefaultValueThrDef; - xmlGetWarningsDefaultValueThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlIndentTreeOutput -int * -__xmlIndentTreeOutput(void) { - if (IS_MAIN_THREAD) - return (&xmlIndentTreeOutput); - else - return (&xmlGetGlobalState()->xmlIndentTreeOutput); -} -int xmlThrDefIndentTreeOutput(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlIndentTreeOutputThrDef; - xmlIndentTreeOutputThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlTreeIndentString -const char * * -__xmlTreeIndentString(void) { - if (IS_MAIN_THREAD) - return (&xmlTreeIndentString); - else - return (&xmlGetGlobalState()->xmlTreeIndentString); -} -const char * xmlThrDefTreeIndentString(const char * v) { - const char * ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlTreeIndentStringThrDef; - xmlTreeIndentStringThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlKeepBlanksDefaultValue -int * -__xmlKeepBlanksDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlKeepBlanksDefaultValue); - else - return (&xmlGetGlobalState()->xmlKeepBlanksDefaultValue); -} -int xmlThrDefKeepBlanksDefaultValue(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlKeepBlanksDefaultValueThrDef; - xmlKeepBlanksDefaultValueThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlLineNumbersDefaultValue -int * -__xmlLineNumbersDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlLineNumbersDefaultValue); - else - return (&xmlGetGlobalState()->xmlLineNumbersDefaultValue); -} -int xmlThrDefLineNumbersDefaultValue(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlLineNumbersDefaultValueThrDef; - xmlLineNumbersDefaultValueThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlLoadExtDtdDefaultValue -int * -__xmlLoadExtDtdDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlLoadExtDtdDefaultValue); - else - return (&xmlGetGlobalState()->xmlLoadExtDtdDefaultValue); -} -int xmlThrDefLoadExtDtdDefaultValue(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlLoadExtDtdDefaultValueThrDef; - xmlLoadExtDtdDefaultValueThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlParserDebugEntities -int * -__xmlParserDebugEntities(void) { - if (IS_MAIN_THREAD) - return (&xmlParserDebugEntities); - else - return (&xmlGetGlobalState()->xmlParserDebugEntities); -} -int xmlThrDefParserDebugEntities(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlParserDebugEntitiesThrDef; - xmlParserDebugEntitiesThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlParserVersion -const char * * -__xmlParserVersion(void) { - if (IS_MAIN_THREAD) - return (&xmlParserVersion); - else - return (&xmlGetGlobalState()->xmlParserVersion); -} - -#undef xmlPedanticParserDefaultValue -int * -__xmlPedanticParserDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlPedanticParserDefaultValue); - else - return (&xmlGetGlobalState()->xmlPedanticParserDefaultValue); -} -int xmlThrDefPedanticParserDefaultValue(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlPedanticParserDefaultValueThrDef; - xmlPedanticParserDefaultValueThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlSaveNoEmptyTags -int * -__xmlSaveNoEmptyTags(void) { - if (IS_MAIN_THREAD) - return (&xmlSaveNoEmptyTags); - else - return (&xmlGetGlobalState()->xmlSaveNoEmptyTags); -} -int xmlThrDefSaveNoEmptyTags(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlSaveNoEmptyTagsThrDef; - xmlSaveNoEmptyTagsThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlSubstituteEntitiesDefaultValue -int * -__xmlSubstituteEntitiesDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlSubstituteEntitiesDefaultValue); - else - return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultValue); -} -int xmlThrDefSubstituteEntitiesDefaultValue(int v) { - int ret; - xmlMutexLock(xmlThrDefMutex); - ret = xmlSubstituteEntitiesDefaultValueThrDef; - xmlSubstituteEntitiesDefaultValueThrDef = v; - xmlMutexUnlock(xmlThrDefMutex); - return ret; -} - -#undef xmlRegisterNodeDefaultValue -xmlRegisterNodeFunc * -__xmlRegisterNodeDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlRegisterNodeDefaultValue); - else - return (&xmlGetGlobalState()->xmlRegisterNodeDefaultValue); -} - -#undef xmlDeregisterNodeDefaultValue -xmlDeregisterNodeFunc * -__xmlDeregisterNodeDefaultValue(void) { - if (IS_MAIN_THREAD) - return (&xmlDeregisterNodeDefaultValue); - else - return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue); -} - -#undef xmlParserInputBufferCreateFilenameValue -xmlParserInputBufferCreateFilenameFunc * -__xmlParserInputBufferCreateFilenameValue(void) { - if (IS_MAIN_THREAD) - return (&xmlParserInputBufferCreateFilenameValue); - else - return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue); -} - -#undef xmlOutputBufferCreateFilenameValue -xmlOutputBufferCreateFilenameFunc * -__xmlOutputBufferCreateFilenameValue(void) { - if (IS_MAIN_THREAD) - return (&xmlOutputBufferCreateFilenameValue); - else - return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue); -} - -#define bottom_globals -#include "elfgcchack.h" + * once parsed. + * Disabled by default + */ +int xmlSaveNoEmptyTags = 0; +static int xmlSaveNoEmptyTagsThrDef = 0; + +#ifdef LIBXML_SAX1_ENABLED +/** + * xmlDefaultSAXHandler: + * + * Default SAX version1 handler for XML, builds the DOM tree + */ +xmlSAXHandlerV1 xmlDefaultSAXHandler = { + xmlSAX2InternalSubset, + xmlSAX2IsStandalone, + xmlSAX2HasInternalSubset, + xmlSAX2HasExternalSubset, + xmlSAX2ResolveEntity, + xmlSAX2GetEntity, + xmlSAX2EntityDecl, + xmlSAX2NotationDecl, + xmlSAX2AttributeDecl, + xmlSAX2ElementDecl, + xmlSAX2UnparsedEntityDecl, + xmlSAX2SetDocumentLocator, + xmlSAX2StartDocument, + xmlSAX2EndDocument, + xmlSAX2StartElement, + xmlSAX2EndElement, + xmlSAX2Reference, + xmlSAX2Characters, + xmlSAX2Characters, + xmlSAX2ProcessingInstruction, + xmlSAX2Comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + xmlSAX2GetParameterEntity, + xmlSAX2CDataBlock, + xmlSAX2ExternalSubset, + 0, +}; +#endif /* LIBXML_SAX1_ENABLED */ + +/** + * xmlDefaultSAXLocator: + * + * The default SAX Locator + * { getPublicId, getSystemId, getLineNumber, getColumnNumber} + */ +xmlSAXLocator xmlDefaultSAXLocator = { + xmlSAX2GetPublicId, + xmlSAX2GetSystemId, + xmlSAX2GetLineNumber, + xmlSAX2GetColumnNumber +}; + +#ifdef LIBXML_HTML_ENABLED +/** + * htmlDefaultSAXHandler: + * + * Default old SAX v1 handler for HTML, builds the DOM tree + */ +xmlSAXHandlerV1 htmlDefaultSAXHandler = { + xmlSAX2InternalSubset, + NULL, + NULL, + NULL, + NULL, + xmlSAX2GetEntity, + NULL, + NULL, + NULL, + NULL, + NULL, + xmlSAX2SetDocumentLocator, + xmlSAX2StartDocument, + xmlSAX2EndDocument, + xmlSAX2StartElement, + xmlSAX2EndElement, + NULL, + xmlSAX2Characters, + xmlSAX2IgnorableWhitespace, + xmlSAX2ProcessingInstruction, + xmlSAX2Comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + xmlSAX2GetParameterEntity, + xmlSAX2CDataBlock, + NULL, + 0, +}; +#endif /* LIBXML_HTML_ENABLED */ + +#ifdef LIBXML_DOCB_ENABLED +/** + * docbDefaultSAXHandler: + * + * Default old SAX v1 handler for SGML DocBook, builds the DOM tree + */ +xmlSAXHandlerV1 docbDefaultSAXHandler = { + xmlSAX2InternalSubset, + xmlSAX2IsStandalone, + xmlSAX2HasInternalSubset, + xmlSAX2HasExternalSubset, + xmlSAX2ResolveEntity, + xmlSAX2GetEntity, + xmlSAX2EntityDecl, + NULL, + NULL, + NULL, + NULL, + xmlSAX2SetDocumentLocator, + xmlSAX2StartDocument, + xmlSAX2EndDocument, + xmlSAX2StartElement, + xmlSAX2EndElement, + xmlSAX2Reference, + xmlSAX2Characters, + xmlSAX2IgnorableWhitespace, + NULL, + xmlSAX2Comment, + xmlParserWarning, + xmlParserError, + xmlParserError, + xmlSAX2GetParameterEntity, + NULL, + NULL, + 0, +}; +#endif /* LIBXML_DOCB_ENABLED */ + +/** + * xmlInitializeGlobalState: + * @gs: a pointer to a newly allocated global state + * + * xmlInitializeGlobalState() initialize a global state with all the + * default values of the library. + */ +void +xmlInitializeGlobalState(xmlGlobalStatePtr gs) +{ +#ifdef DEBUG_GLOBALS + fprintf(stderr, "Initializing globals at %lu for thread %d\n", + (unsigned long) gs, xmlGetThreadId()); +#endif + + /* + * Perform initialization as required by libxml + */ + if (xmlThrDefMutex == NULL) + xmlInitGlobals(); + + xmlMutexLock(xmlThrDefMutex); + +#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED) + initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler); +#endif +#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED) + inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler); +#endif + + gs->oldXMLWDcompatibility = 0; + gs->xmlBufferAllocScheme = xmlBufferAllocSchemeThrDef; + gs->xmlDefaultBufferSize = xmlDefaultBufferSizeThrDef; +#if defined(LIBXML_SAX1_ENABLED) && defined(LIBXML_LEGACY_ENABLED) + initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1); +#endif /* LIBXML_SAX1_ENABLED */ + gs->xmlDefaultSAXLocator.getPublicId = xmlSAX2GetPublicId; + gs->xmlDefaultSAXLocator.getSystemId = xmlSAX2GetSystemId; + gs->xmlDefaultSAXLocator.getLineNumber = xmlSAX2GetLineNumber; + gs->xmlDefaultSAXLocator.getColumnNumber = xmlSAX2GetColumnNumber; + gs->xmlDoValidityCheckingDefaultValue = + xmlDoValidityCheckingDefaultValueThrDef; +#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY) + gs->xmlFree = (xmlFreeFunc) xmlMemFree; + gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc; + gs->xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc; + gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc; + gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup; +#else + gs->xmlFree = (xmlFreeFunc) free; + gs->xmlMalloc = (xmlMallocFunc) malloc; + gs->xmlMallocAtomic = (xmlMallocFunc) malloc; + gs->xmlRealloc = (xmlReallocFunc) realloc; + gs->xmlMemStrdup = (xmlStrdupFunc) xmlStrdup; +#endif + gs->xmlGetWarningsDefaultValue = xmlGetWarningsDefaultValueThrDef; + gs->xmlIndentTreeOutput = xmlIndentTreeOutputThrDef; + gs->xmlTreeIndentString = xmlTreeIndentStringThrDef; + gs->xmlKeepBlanksDefaultValue = xmlKeepBlanksDefaultValueThrDef; + gs->xmlLineNumbersDefaultValue = xmlLineNumbersDefaultValueThrDef; + gs->xmlLoadExtDtdDefaultValue = xmlLoadExtDtdDefaultValueThrDef; + gs->xmlParserDebugEntities = xmlParserDebugEntitiesThrDef; + gs->xmlParserVersion = LIBXML_VERSION_STRING; + gs->xmlPedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef; + gs->xmlSaveNoEmptyTags = xmlSaveNoEmptyTagsThrDef; + gs->xmlSubstituteEntitiesDefaultValue = + xmlSubstituteEntitiesDefaultValueThrDef; + + gs->xmlGenericError = xmlGenericErrorThrDef; + gs->xmlStructuredError = xmlStructuredErrorThrDef; + gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef; + gs->xmlStructuredErrorContext = xmlStructuredErrorContextThrDef; + gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef; + gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef; + + gs->xmlParserInputBufferCreateFilenameValue = xmlParserInputBufferCreateFilenameValueThrDef; + gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef; + memset(&gs->xmlLastError, 0, sizeof(xmlError)); + + xmlMutexUnlock(xmlThrDefMutex); +} + +/** + * DOC_DISABLE : we ignore missing doc for the xmlThrDef functions, + * those are really internal work + */ +void +xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) { + xmlMutexLock(xmlThrDefMutex); + xmlGenericErrorContextThrDef = ctx; + if (handler != NULL) + xmlGenericErrorThrDef = handler; + else + xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc; + xmlMutexUnlock(xmlThrDefMutex); +} + +void +xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) { + xmlMutexLock(xmlThrDefMutex); + xmlStructuredErrorContextThrDef = ctx; + xmlStructuredErrorThrDef = handler; + xmlMutexUnlock(xmlThrDefMutex); +} + +/** + * xmlRegisterNodeDefault: + * @func: function pointer to the new RegisterNodeFunc + * + * Registers a callback for node creation + * + * Returns the old value of the registration function + */ +xmlRegisterNodeFunc +xmlRegisterNodeDefault(xmlRegisterNodeFunc func) +{ + xmlRegisterNodeFunc old = xmlRegisterNodeDefaultValue; + + __xmlRegisterCallbacks = 1; + xmlRegisterNodeDefaultValue = func; + return(old); +} + +xmlRegisterNodeFunc +xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func) +{ + xmlRegisterNodeFunc old; + + xmlMutexLock(xmlThrDefMutex); + old = xmlRegisterNodeDefaultValueThrDef; + + __xmlRegisterCallbacks = 1; + xmlRegisterNodeDefaultValueThrDef = func; + xmlMutexUnlock(xmlThrDefMutex); + + return(old); +} + +/** + * xmlDeregisterNodeDefault: + * @func: function pointer to the new DeregisterNodeFunc + * + * Registers a callback for node destruction + * + * Returns the previous value of the deregistration function + */ +xmlDeregisterNodeFunc +xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func) +{ + xmlDeregisterNodeFunc old = xmlDeregisterNodeDefaultValue; + + __xmlRegisterCallbacks = 1; + xmlDeregisterNodeDefaultValue = func; + return(old); +} + +xmlDeregisterNodeFunc +xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func) +{ + xmlDeregisterNodeFunc old; + + xmlMutexLock(xmlThrDefMutex); + old = xmlDeregisterNodeDefaultValueThrDef; + + __xmlRegisterCallbacks = 1; + xmlDeregisterNodeDefaultValueThrDef = func; + xmlMutexUnlock(xmlThrDefMutex); + + return(old); +} + +xmlParserInputBufferCreateFilenameFunc +xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func) +{ + xmlParserInputBufferCreateFilenameFunc old; + + xmlMutexLock(xmlThrDefMutex); + old = xmlParserInputBufferCreateFilenameValueThrDef; + if (old == NULL) { + old = __xmlParserInputBufferCreateFilename; + } + + xmlParserInputBufferCreateFilenameValueThrDef = func; + xmlMutexUnlock(xmlThrDefMutex); + + return(old); +} + +xmlOutputBufferCreateFilenameFunc +xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func) +{ + xmlOutputBufferCreateFilenameFunc old; + + xmlMutexLock(xmlThrDefMutex); + old = xmlOutputBufferCreateFilenameValueThrDef; +#ifdef LIBXML_OUTPUT_ENABLED + if (old == NULL) { + old = __xmlOutputBufferCreateFilename; + } +#endif + xmlOutputBufferCreateFilenameValueThrDef = func; + xmlMutexUnlock(xmlThrDefMutex); + + return(old); +} + +#ifdef LIBXML_DOCB_ENABLED +#undef docbDefaultSAXHandler +xmlSAXHandlerV1 * +__docbDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) + return (&docbDefaultSAXHandler); + else + return (&xmlGetGlobalState()->docbDefaultSAXHandler); +} +#endif + +#ifdef LIBXML_HTML_ENABLED +#undef htmlDefaultSAXHandler +xmlSAXHandlerV1 * +__htmlDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) + return (&htmlDefaultSAXHandler); + else + return (&xmlGetGlobalState()->htmlDefaultSAXHandler); +} +#endif + +#undef xmlLastError +xmlError * +__xmlLastError(void) { + if (IS_MAIN_THREAD) + return (&xmlLastError); + else + return (&xmlGetGlobalState()->xmlLastError); +} + +/* + * The following memory routines were apparently lost at some point, + * and were re-inserted at this point on June 10, 2004. Hope it's + * the right place for them :-) + */ +#if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED) +#undef xmlMalloc +xmlMallocFunc * +__xmlMalloc(void){ + if (IS_MAIN_THREAD) + return (&xmlMalloc); + else + return (&xmlGetGlobalState()->xmlMalloc); +} + +#undef xmlMallocAtomic +xmlMallocFunc * +__xmlMallocAtomic(void){ + if (IS_MAIN_THREAD) + return (&xmlMallocAtomic); + else + return (&xmlGetGlobalState()->xmlMallocAtomic); +} + +#undef xmlRealloc +xmlReallocFunc * +__xmlRealloc(void){ + if (IS_MAIN_THREAD) + return (&xmlRealloc); + else + return (&xmlGetGlobalState()->xmlRealloc); +} + +#undef xmlFree +xmlFreeFunc * +__xmlFree(void){ + if (IS_MAIN_THREAD) + return (&xmlFree); + else + return (&xmlGetGlobalState()->xmlFree); +} + +xmlStrdupFunc * +__xmlMemStrdup(void){ + if (IS_MAIN_THREAD) + return (&xmlMemStrdup); + else + return (&xmlGetGlobalState()->xmlMemStrdup); +} + +#endif + +/* + * Everything starting from the line below is + * Automatically generated by build_glob.py. + * Do not modify the previous line. + */ + + +#undef oldXMLWDcompatibility +int * +__oldXMLWDcompatibility(void) { + if (IS_MAIN_THREAD) + return (&oldXMLWDcompatibility); + else + return (&xmlGetGlobalState()->oldXMLWDcompatibility); +} + +#undef xmlBufferAllocScheme +xmlBufferAllocationScheme * +__xmlBufferAllocScheme(void) { + if (IS_MAIN_THREAD) + return (&xmlBufferAllocScheme); + else + return (&xmlGetGlobalState()->xmlBufferAllocScheme); +} +xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) { + xmlBufferAllocationScheme ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlBufferAllocSchemeThrDef; + xmlBufferAllocSchemeThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlDefaultBufferSize +int * +__xmlDefaultBufferSize(void) { + if (IS_MAIN_THREAD) + return (&xmlDefaultBufferSize); + else + return (&xmlGetGlobalState()->xmlDefaultBufferSize); +} +int xmlThrDefDefaultBufferSize(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlDefaultBufferSizeThrDef; + xmlDefaultBufferSizeThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#ifdef LIBXML_SAX1_ENABLED +#undef xmlDefaultSAXHandler +xmlSAXHandlerV1 * +__xmlDefaultSAXHandler(void) { + if (IS_MAIN_THREAD) + return (&xmlDefaultSAXHandler); + else + return (&xmlGetGlobalState()->xmlDefaultSAXHandler); +} +#endif /* LIBXML_SAX1_ENABLED */ + +#undef xmlDefaultSAXLocator +xmlSAXLocator * +__xmlDefaultSAXLocator(void) { + if (IS_MAIN_THREAD) + return (&xmlDefaultSAXLocator); + else + return (&xmlGetGlobalState()->xmlDefaultSAXLocator); +} + +#undef xmlDoValidityCheckingDefaultValue +int * +__xmlDoValidityCheckingDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlDoValidityCheckingDefaultValue); + else + return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultValue); +} +int xmlThrDefDoValidityCheckingDefaultValue(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlDoValidityCheckingDefaultValueThrDef; + xmlDoValidityCheckingDefaultValueThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlGenericError +xmlGenericErrorFunc * +__xmlGenericError(void) { + if (IS_MAIN_THREAD) + return (&xmlGenericError); + else + return (&xmlGetGlobalState()->xmlGenericError); +} + +#undef xmlStructuredError +xmlStructuredErrorFunc * +__xmlStructuredError(void) { + if (IS_MAIN_THREAD) + return (&xmlStructuredError); + else + return (&xmlGetGlobalState()->xmlStructuredError); +} + +#undef xmlGenericErrorContext +void * * +__xmlGenericErrorContext(void) { + if (IS_MAIN_THREAD) + return (&xmlGenericErrorContext); + else + return (&xmlGetGlobalState()->xmlGenericErrorContext); +} + +#undef xmlStructuredErrorContext +void * * +__xmlStructuredErrorContext(void) { + if (IS_MAIN_THREAD) + return (&xmlStructuredErrorContext); + else + return (&xmlGetGlobalState()->xmlStructuredErrorContext); +} + +#undef xmlGetWarningsDefaultValue +int * +__xmlGetWarningsDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlGetWarningsDefaultValue); + else + return (&xmlGetGlobalState()->xmlGetWarningsDefaultValue); +} +int xmlThrDefGetWarningsDefaultValue(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlGetWarningsDefaultValueThrDef; + xmlGetWarningsDefaultValueThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlIndentTreeOutput +int * +__xmlIndentTreeOutput(void) { + if (IS_MAIN_THREAD) + return (&xmlIndentTreeOutput); + else + return (&xmlGetGlobalState()->xmlIndentTreeOutput); +} +int xmlThrDefIndentTreeOutput(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlIndentTreeOutputThrDef; + xmlIndentTreeOutputThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlTreeIndentString +const char * * +__xmlTreeIndentString(void) { + if (IS_MAIN_THREAD) + return (&xmlTreeIndentString); + else + return (&xmlGetGlobalState()->xmlTreeIndentString); +} +const char * xmlThrDefTreeIndentString(const char * v) { + const char * ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlTreeIndentStringThrDef; + xmlTreeIndentStringThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlKeepBlanksDefaultValue +int * +__xmlKeepBlanksDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlKeepBlanksDefaultValue); + else + return (&xmlGetGlobalState()->xmlKeepBlanksDefaultValue); +} +int xmlThrDefKeepBlanksDefaultValue(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlKeepBlanksDefaultValueThrDef; + xmlKeepBlanksDefaultValueThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlLineNumbersDefaultValue +int * +__xmlLineNumbersDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlLineNumbersDefaultValue); + else + return (&xmlGetGlobalState()->xmlLineNumbersDefaultValue); +} +int xmlThrDefLineNumbersDefaultValue(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlLineNumbersDefaultValueThrDef; + xmlLineNumbersDefaultValueThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlLoadExtDtdDefaultValue +int * +__xmlLoadExtDtdDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlLoadExtDtdDefaultValue); + else + return (&xmlGetGlobalState()->xmlLoadExtDtdDefaultValue); +} +int xmlThrDefLoadExtDtdDefaultValue(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlLoadExtDtdDefaultValueThrDef; + xmlLoadExtDtdDefaultValueThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlParserDebugEntities +int * +__xmlParserDebugEntities(void) { + if (IS_MAIN_THREAD) + return (&xmlParserDebugEntities); + else + return (&xmlGetGlobalState()->xmlParserDebugEntities); +} +int xmlThrDefParserDebugEntities(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlParserDebugEntitiesThrDef; + xmlParserDebugEntitiesThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlParserVersion +const char * * +__xmlParserVersion(void) { + if (IS_MAIN_THREAD) + return (&xmlParserVersion); + else + return (&xmlGetGlobalState()->xmlParserVersion); +} + +#undef xmlPedanticParserDefaultValue +int * +__xmlPedanticParserDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlPedanticParserDefaultValue); + else + return (&xmlGetGlobalState()->xmlPedanticParserDefaultValue); +} +int xmlThrDefPedanticParserDefaultValue(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlPedanticParserDefaultValueThrDef; + xmlPedanticParserDefaultValueThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlSaveNoEmptyTags +int * +__xmlSaveNoEmptyTags(void) { + if (IS_MAIN_THREAD) + return (&xmlSaveNoEmptyTags); + else + return (&xmlGetGlobalState()->xmlSaveNoEmptyTags); +} +int xmlThrDefSaveNoEmptyTags(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlSaveNoEmptyTagsThrDef; + xmlSaveNoEmptyTagsThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlSubstituteEntitiesDefaultValue +int * +__xmlSubstituteEntitiesDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlSubstituteEntitiesDefaultValue); + else + return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultValue); +} +int xmlThrDefSubstituteEntitiesDefaultValue(int v) { + int ret; + xmlMutexLock(xmlThrDefMutex); + ret = xmlSubstituteEntitiesDefaultValueThrDef; + xmlSubstituteEntitiesDefaultValueThrDef = v; + xmlMutexUnlock(xmlThrDefMutex); + return ret; +} + +#undef xmlRegisterNodeDefaultValue +xmlRegisterNodeFunc * +__xmlRegisterNodeDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlRegisterNodeDefaultValue); + else + return (&xmlGetGlobalState()->xmlRegisterNodeDefaultValue); +} + +#undef xmlDeregisterNodeDefaultValue +xmlDeregisterNodeFunc * +__xmlDeregisterNodeDefaultValue(void) { + if (IS_MAIN_THREAD) + return (&xmlDeregisterNodeDefaultValue); + else + return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue); +} + +#undef xmlParserInputBufferCreateFilenameValue +xmlParserInputBufferCreateFilenameFunc * +__xmlParserInputBufferCreateFilenameValue(void) { + if (IS_MAIN_THREAD) + return (&xmlParserInputBufferCreateFilenameValue); + else + return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue); +} + +#undef xmlOutputBufferCreateFilenameValue +xmlOutputBufferCreateFilenameFunc * +__xmlOutputBufferCreateFilenameValue(void) { + if (IS_MAIN_THREAD) + return (&xmlOutputBufferCreateFilenameValue); + else + return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue); +} + +#define bottom_globals +#include "elfgcchack.h" |