Skip to content

Commit f0e8358

Browse files
committed
globals: Final fixes
1 parent d6ba403 commit f0e8358

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

globals.c

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ xmlIsMainThread(void) {
665665
}
666666

667667
#ifdef LIBXML_THREAD_ENABLED
668+
668669
static void
669670
xmlFreeGlobalState(void *state)
670671
{
@@ -848,6 +849,34 @@ xmlGetThreadLocalStorage(int allowFailure) {
848849

849850
return(gs);
850851
}
852+
853+
/* Define thread-local storage accessors with macro magic */
854+
855+
#define XML_DEFINE_GLOBAL_WRAPPER(name, type, attrs) \
856+
type *__##name(void) { \
857+
if (IS_MAIN_THREAD) \
858+
return (&name); \
859+
else \
860+
return (&xmlGetThreadLocalStorage(0)->gs_##name); \
861+
}
862+
863+
#define XML_OP XML_DEFINE_GLOBAL_WRAPPER
864+
XML_GLOBALS_ALLOC
865+
XML_GLOBALS_ERROR
866+
XML_GLOBALS_HTML
867+
XML_GLOBALS_IO
868+
XML_GLOBALS_PARSER
869+
XML_GLOBALS_SAVE
870+
XML_GLOBALS_TREE
871+
#undef XML_OP
872+
873+
/* For backward compatibility */
874+
875+
const char *const *
876+
__xmlParserVersion(void) {
877+
return &xmlParserVersion;
878+
}
879+
851880
#endif /* LIBXML_THREAD_ENABLED */
852881

853882
/**
@@ -874,7 +903,7 @@ xmlGetThreadLocalStorage(int allowFailure) {
874903
*/
875904
int
876905
xmlCheckThreadLocalStorage(void) {
877-
#if defined(LIBXML_THREAD_ENABLED) && !defined(XML_THREAD_LOCAL_STORAGE)
906+
#if defined(LIBXML_THREAD_ENABLED) && !defined(XML_THREAD_LOCAL)
878907
if ((!xmlIsMainThreadInternal()) && (xmlGetThreadLocalStorage(1) == NULL))
879908
return(-1);
880909
#endif
@@ -892,8 +921,8 @@ xmlCheckThreadLocalStorage(void) {
892921
*
893922
* Returns TRUE always
894923
*/
895-
#ifdef HAVE_POSIX_THREADS
896-
#elif defined(HAVE_WIN32_THREADS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
924+
#if defined(HAVE_WIN32_THREADS) && \
925+
(!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
897926
#if defined(LIBXML_STATIC_FOR_DLL)
898927
int
899928
xmlDllMain(ATTRIBUTE_UNUSED void *hinstDLL, unsigned long fdwReason,
@@ -1138,32 +1167,3 @@ xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc fun
11381167
return(old);
11391168
}
11401169

1141-
/* Define thread-local storage accessors with macro magic */
1142-
1143-
#ifdef LIBXML_THREAD_ENABLED
1144-
#define XML_DEFINE_GLOBAL_WRAPPER(name, type, attrs) \
1145-
type *__##name(void) { \
1146-
if (IS_MAIN_THREAD) \
1147-
return (&name); \
1148-
else \
1149-
return (&xmlGetThreadLocalStorage(0)->gs_##name); \
1150-
}
1151-
1152-
#define XML_OP XML_DEFINE_GLOBAL_WRAPPER
1153-
XML_GLOBALS_ALLOC
1154-
XML_GLOBALS_ERROR
1155-
XML_GLOBALS_HTML
1156-
XML_GLOBALS_IO
1157-
XML_GLOBALS_PARSER
1158-
XML_GLOBALS_SAVE
1159-
XML_GLOBALS_TREE
1160-
#undef XML_OP
1161-
1162-
/* For backward compatibility */
1163-
1164-
const char *const *
1165-
__xmlParserVersion(void) {
1166-
return &xmlParserVersion;
1167-
}
1168-
#endif
1169-

0 commit comments

Comments
 (0)