@helm2/poc_jenki_rce 0.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @helm2/poc_jenki_rce might be problematic. Click here for more details.

Files changed (160) hide show
  1. package/LICENSE +19 -0
  2. package/Makefile +18 -0
  3. package/README.md +52 -0
  4. package/binding.gyp +81 -0
  5. package/index.d.ts +273 -0
  6. package/index.js +45 -0
  7. package/lib/bindings.js +1 -0
  8. package/lib/document.js +118 -0
  9. package/lib/element.js +82 -0
  10. package/lib/sax_parser.js +38 -0
  11. package/package.json +70 -0
  12. package/src/html_document.cc +7 -0
  13. package/src/html_document.h +18 -0
  14. package/src/libxmljs.cc +252 -0
  15. package/src/libxmljs.h +53 -0
  16. package/src/xml_attribute.cc +173 -0
  17. package/src/xml_attribute.h +40 -0
  18. package/src/xml_comment.cc +117 -0
  19. package/src/xml_comment.h +30 -0
  20. package/src/xml_document.cc +810 -0
  21. package/src/xml_document.h +67 -0
  22. package/src/xml_element.cc +565 -0
  23. package/src/xml_element.h +61 -0
  24. package/src/xml_namespace.cc +158 -0
  25. package/src/xml_namespace.h +39 -0
  26. package/src/xml_node.cc +761 -0
  27. package/src/xml_node.h +73 -0
  28. package/src/xml_pi.cc +161 -0
  29. package/src/xml_pi.h +34 -0
  30. package/src/xml_sax_parser.cc +424 -0
  31. package/src/xml_sax_parser.h +73 -0
  32. package/src/xml_syntax_error.cc +66 -0
  33. package/src/xml_syntax_error.h +25 -0
  34. package/src/xml_text.cc +320 -0
  35. package/src/xml_text.h +48 -0
  36. package/src/xml_textwriter.cc +315 -0
  37. package/src/xml_textwriter.h +62 -0
  38. package/src/xml_xpath_context.cc +70 -0
  39. package/src/xml_xpath_context.h +23 -0
  40. package/vendor/libxml/Copyright +23 -0
  41. package/vendor/libxml/DOCBparser.c +305 -0
  42. package/vendor/libxml/HTMLparser.c +7287 -0
  43. package/vendor/libxml/HTMLtree.c +1200 -0
  44. package/vendor/libxml/Makefile +2983 -0
  45. package/vendor/libxml/SAX.c +180 -0
  46. package/vendor/libxml/SAX2.c +3036 -0
  47. package/vendor/libxml/buf.c +1351 -0
  48. package/vendor/libxml/buf.h +72 -0
  49. package/vendor/libxml/c14n.c +2234 -0
  50. package/vendor/libxml/catalog.c +3828 -0
  51. package/vendor/libxml/chvalid.c +336 -0
  52. package/vendor/libxml/config.h +294 -0
  53. package/vendor/libxml/config.h.gch +0 -0
  54. package/vendor/libxml/debugXML.c +3423 -0
  55. package/vendor/libxml/dict.c +1298 -0
  56. package/vendor/libxml/elfgcchack.h +17818 -0
  57. package/vendor/libxml/enc.h +32 -0
  58. package/vendor/libxml/encoding.c +3975 -0
  59. package/vendor/libxml/entities.c +1163 -0
  60. package/vendor/libxml/error.c +998 -0
  61. package/vendor/libxml/globals.c +1126 -0
  62. package/vendor/libxml/hash.c +1146 -0
  63. package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
  64. package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
  65. package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
  66. package/vendor/libxml/include/libxml/Makefile +725 -0
  67. package/vendor/libxml/include/libxml/Makefile.am +54 -0
  68. package/vendor/libxml/include/libxml/Makefile.in +725 -0
  69. package/vendor/libxml/include/libxml/SAX.h +173 -0
  70. package/vendor/libxml/include/libxml/SAX2.h +178 -0
  71. package/vendor/libxml/include/libxml/c14n.h +128 -0
  72. package/vendor/libxml/include/libxml/catalog.h +182 -0
  73. package/vendor/libxml/include/libxml/chvalid.h +230 -0
  74. package/vendor/libxml/include/libxml/debugXML.h +217 -0
  75. package/vendor/libxml/include/libxml/dict.h +79 -0
  76. package/vendor/libxml/include/libxml/encoding.h +245 -0
  77. package/vendor/libxml/include/libxml/entities.h +151 -0
  78. package/vendor/libxml/include/libxml/globals.h +508 -0
  79. package/vendor/libxml/include/libxml/hash.h +236 -0
  80. package/vendor/libxml/include/libxml/list.h +137 -0
  81. package/vendor/libxml/include/libxml/nanoftp.h +163 -0
  82. package/vendor/libxml/include/libxml/nanohttp.h +81 -0
  83. package/vendor/libxml/include/libxml/parser.h +1243 -0
  84. package/vendor/libxml/include/libxml/parserInternals.h +644 -0
  85. package/vendor/libxml/include/libxml/pattern.h +100 -0
  86. package/vendor/libxml/include/libxml/relaxng.h +217 -0
  87. package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
  88. package/vendor/libxml/include/libxml/schematron.h +142 -0
  89. package/vendor/libxml/include/libxml/threads.h +89 -0
  90. package/vendor/libxml/include/libxml/tree.h +1311 -0
  91. package/vendor/libxml/include/libxml/uri.h +94 -0
  92. package/vendor/libxml/include/libxml/valid.h +458 -0
  93. package/vendor/libxml/include/libxml/xinclude.h +129 -0
  94. package/vendor/libxml/include/libxml/xlink.h +189 -0
  95. package/vendor/libxml/include/libxml/xmlIO.h +368 -0
  96. package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
  97. package/vendor/libxml/include/libxml/xmlerror.h +945 -0
  98. package/vendor/libxml/include/libxml/xmlexports.h +77 -0
  99. package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
  100. package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
  101. package/vendor/libxml/include/libxml/xmlreader.h +428 -0
  102. package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
  103. package/vendor/libxml/include/libxml/xmlsave.h +88 -0
  104. package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
  105. package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
  106. package/vendor/libxml/include/libxml/xmlstring.h +140 -0
  107. package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
  108. package/vendor/libxml/include/libxml/xmlversion.h +484 -0
  109. package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
  110. package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
  111. package/vendor/libxml/include/libxml/xpath.h +564 -0
  112. package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
  113. package/vendor/libxml/include/libxml/xpointer.h +114 -0
  114. package/vendor/libxml/include/win32config.h +122 -0
  115. package/vendor/libxml/include/wsockcompat.h +54 -0
  116. package/vendor/libxml/legacy.c +1343 -0
  117. package/vendor/libxml/libxml.h +134 -0
  118. package/vendor/libxml/list.c +779 -0
  119. package/vendor/libxml/nanoftp.c +2118 -0
  120. package/vendor/libxml/nanohttp.c +1899 -0
  121. package/vendor/libxml/parser.c +15553 -0
  122. package/vendor/libxml/parserInternals.c +2164 -0
  123. package/vendor/libxml/pattern.c +2621 -0
  124. package/vendor/libxml/relaxng.c +11101 -0
  125. package/vendor/libxml/rngparser.c +1595 -0
  126. package/vendor/libxml/runsuite.c +1157 -0
  127. package/vendor/libxml/save.h +36 -0
  128. package/vendor/libxml/schematron.c +1787 -0
  129. package/vendor/libxml/threads.c +1049 -0
  130. package/vendor/libxml/timsort.h +601 -0
  131. package/vendor/libxml/tree.c +10183 -0
  132. package/vendor/libxml/trio.c +6895 -0
  133. package/vendor/libxml/trio.h +230 -0
  134. package/vendor/libxml/triodef.h +228 -0
  135. package/vendor/libxml/trionan.c +914 -0
  136. package/vendor/libxml/trionan.h +84 -0
  137. package/vendor/libxml/triop.h +150 -0
  138. package/vendor/libxml/triostr.c +2112 -0
  139. package/vendor/libxml/triostr.h +144 -0
  140. package/vendor/libxml/uri.c +2561 -0
  141. package/vendor/libxml/valid.c +7138 -0
  142. package/vendor/libxml/xinclude.c +2657 -0
  143. package/vendor/libxml/xlink.c +183 -0
  144. package/vendor/libxml/xmlIO.c +4135 -0
  145. package/vendor/libxml/xmlcatalog.c +624 -0
  146. package/vendor/libxml/xmllint.c +3796 -0
  147. package/vendor/libxml/xmlmemory.c +1163 -0
  148. package/vendor/libxml/xmlmodule.c +468 -0
  149. package/vendor/libxml/xmlreader.c +6033 -0
  150. package/vendor/libxml/xmlregexp.c +8271 -0
  151. package/vendor/libxml/xmlsave.c +2735 -0
  152. package/vendor/libxml/xmlschemas.c +29173 -0
  153. package/vendor/libxml/xmlschemastypes.c +6276 -0
  154. package/vendor/libxml/xmlstring.c +1050 -0
  155. package/vendor/libxml/xmlunicode.c +3179 -0
  156. package/vendor/libxml/xmlwriter.c +4738 -0
  157. package/vendor/libxml/xpath.c +14734 -0
  158. package/vendor/libxml/xpointer.c +2969 -0
  159. package/vendor/libxml/xzlib.c +815 -0
  160. package/vendor/libxml/xzlib.h +19 -0
@@ -0,0 +1,1126 @@
1
+ /*
2
+ * globals.c: definition and handling of the set of global variables
3
+ * of the library
4
+ *
5
+ * The bottom of this file is automatically generated by build_glob.py
6
+ * based on the description file global.data
7
+ *
8
+ * See Copyright for the status of this software.
9
+ *
10
+ * Gary Pennington <Gary.Pennington@uk.sun.com>
11
+ * daniel@veillard.com
12
+ */
13
+
14
+ #define IN_LIBXML
15
+ #include "libxml.h"
16
+
17
+ #ifdef HAVE_STDLIB_H
18
+ #include <stdlib.h>
19
+ #endif
20
+ #include <string.h>
21
+
22
+ #include <libxml/globals.h>
23
+ #include <libxml/xmlmemory.h>
24
+ #include <libxml/threads.h>
25
+
26
+ /* #define DEBUG_GLOBALS */
27
+
28
+ /*
29
+ * Helpful Macro
30
+ */
31
+ #ifdef LIBXML_THREAD_ENABLED
32
+ #define IS_MAIN_THREAD (xmlIsMainThread())
33
+ #else
34
+ #define IS_MAIN_THREAD 1
35
+ #endif
36
+
37
+ /*
38
+ * Mutex to protect "ForNewThreads" variables
39
+ */
40
+ static xmlMutexPtr xmlThrDefMutex = NULL;
41
+
42
+ /**
43
+ * xmlInitGlobals:
44
+ *
45
+ * Additional initialisation for multi-threading
46
+ */
47
+ void xmlInitGlobals(void)
48
+ {
49
+ if (xmlThrDefMutex == NULL)
50
+ xmlThrDefMutex = xmlNewMutex();
51
+ }
52
+
53
+ /**
54
+ * xmlCleanupGlobals:
55
+ *
56
+ * Additional cleanup for multi-threading
57
+ */
58
+ void xmlCleanupGlobals(void)
59
+ {
60
+ if (xmlThrDefMutex != NULL) {
61
+ xmlFreeMutex(xmlThrDefMutex);
62
+ xmlThrDefMutex = NULL;
63
+ }
64
+ __xmlGlobalInitMutexDestroy();
65
+ }
66
+
67
+ /************************************************************************
68
+ * *
69
+ * All the user accessible global variables of the library *
70
+ * *
71
+ ************************************************************************/
72
+
73
+ /*
74
+ * Memory allocation routines
75
+ */
76
+ #undef xmlFree
77
+ #undef xmlMalloc
78
+ #undef xmlMallocAtomic
79
+ #undef xmlMemStrdup
80
+ #undef xmlRealloc
81
+
82
+ #if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY)
83
+ xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree;
84
+ xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
85
+ xmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc;
86
+ xmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
87
+ xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
88
+ #else
89
+ /**
90
+ * xmlFree:
91
+ * @mem: an already allocated block of memory
92
+ *
93
+ * The variable holding the libxml free() implementation
94
+ */
95
+ xmlFreeFunc xmlFree = free;
96
+ /**
97
+ * xmlMalloc:
98
+ * @size: the size requested in bytes
99
+ *
100
+ * The variable holding the libxml malloc() implementation
101
+ *
102
+ * Returns a pointer to the newly allocated block or NULL in case of error
103
+ */
104
+ xmlMallocFunc xmlMalloc = malloc;
105
+ /**
106
+ * xmlMallocAtomic:
107
+ * @size: the size requested in bytes
108
+ *
109
+ * The variable holding the libxml malloc() implementation for atomic
110
+ * data (i.e. blocks not containing pointers), useful when using a
111
+ * garbage collecting allocator.
112
+ *
113
+ * Returns a pointer to the newly allocated block or NULL in case of error
114
+ */
115
+ xmlMallocFunc xmlMallocAtomic = malloc;
116
+ /**
117
+ * xmlRealloc:
118
+ * @mem: an already allocated block of memory
119
+ * @size: the new size requested in bytes
120
+ *
121
+ * The variable holding the libxml realloc() implementation
122
+ *
123
+ * Returns a pointer to the newly reallocated block or NULL in case of error
124
+ */
125
+ xmlReallocFunc xmlRealloc = realloc;
126
+ /**
127
+ * xmlPosixStrdup
128
+ * @cur: the input char *
129
+ *
130
+ * a strdup implementation with a type signature matching POSIX
131
+ *
132
+ * Returns a new xmlChar * or NULL
133
+ */
134
+ static char *
135
+ xmlPosixStrdup(const char *cur) {
136
+ return((char*) xmlCharStrdup(cur));
137
+ }
138
+ /**
139
+ * xmlMemStrdup:
140
+ * @str: a zero terminated string
141
+ *
142
+ * The variable holding the libxml strdup() implementation
143
+ *
144
+ * Returns the copy of the string or NULL in case of error
145
+ */
146
+ xmlStrdupFunc xmlMemStrdup = xmlPosixStrdup;
147
+ #endif /* DEBUG_MEMORY_LOCATION || DEBUG_MEMORY */
148
+
149
+ #include <libxml/threads.h>
150
+ #include <libxml/globals.h>
151
+ #include <libxml/SAX.h>
152
+
153
+ #undef docbDefaultSAXHandler
154
+ #undef htmlDefaultSAXHandler
155
+ #undef oldXMLWDcompatibility
156
+ #undef xmlBufferAllocScheme
157
+ #undef xmlDefaultBufferSize
158
+ #undef xmlDefaultSAXHandler
159
+ #undef xmlDefaultSAXLocator
160
+ #undef xmlDoValidityCheckingDefaultValue
161
+ #undef xmlGenericError
162
+ #undef xmlStructuredError
163
+ #undef xmlGenericErrorContext
164
+ #undef xmlStructuredErrorContext
165
+ #undef xmlGetWarningsDefaultValue
166
+ #undef xmlIndentTreeOutput
167
+ #undef xmlTreeIndentString
168
+ #undef xmlKeepBlanksDefaultValue
169
+ #undef xmlLineNumbersDefaultValue
170
+ #undef xmlLoadExtDtdDefaultValue
171
+ #undef xmlParserDebugEntities
172
+ #undef xmlParserVersion
173
+ #undef xmlPedanticParserDefaultValue
174
+ #undef xmlSaveNoEmptyTags
175
+ #undef xmlSubstituteEntitiesDefaultValue
176
+ #undef xmlRegisterNodeDefaultValue
177
+ #undef xmlDeregisterNodeDefaultValue
178
+ #undef xmlLastError
179
+
180
+ #undef xmlParserInputBufferCreateFilenameValue
181
+ #undef xmlOutputBufferCreateFilenameValue
182
+ /**
183
+ * xmlParserVersion:
184
+ *
185
+ * Constant string describing the internal version of the library
186
+ */
187
+ const char *xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA;
188
+
189
+ /**
190
+ * xmlBufferAllocScheme:
191
+ *
192
+ * Global setting, default allocation policy for buffers, default is
193
+ * XML_BUFFER_ALLOC_EXACT
194
+ */
195
+ xmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT;
196
+ static xmlBufferAllocationScheme xmlBufferAllocSchemeThrDef = XML_BUFFER_ALLOC_EXACT;
197
+ /**
198
+ * xmlDefaultBufferSize:
199
+ *
200
+ * Global setting, default buffer size. Default value is BASE_BUFFER_SIZE
201
+ */
202
+ int xmlDefaultBufferSize = BASE_BUFFER_SIZE;
203
+ static int xmlDefaultBufferSizeThrDef = BASE_BUFFER_SIZE;
204
+
205
+ /*
206
+ * Parser defaults
207
+ */
208
+
209
+ /**
210
+ * oldXMLWDcompatibility:
211
+ *
212
+ * Global setting, DEPRECATED.
213
+ */
214
+ int oldXMLWDcompatibility = 0; /* DEPRECATED */
215
+ /**
216
+ * xmlParserDebugEntities:
217
+ *
218
+ * Global setting, asking the parser to print out debugging information.
219
+ * while handling entities.
220
+ * Disabled by default
221
+ */
222
+ int xmlParserDebugEntities = 0;
223
+ static int xmlParserDebugEntitiesThrDef = 0;
224
+ /**
225
+ * xmlDoValidityCheckingDefaultValue:
226
+ *
227
+ * Global setting, indicate that the parser should work in validating mode.
228
+ * Disabled by default.
229
+ */
230
+ int xmlDoValidityCheckingDefaultValue = 0;
231
+ static int xmlDoValidityCheckingDefaultValueThrDef = 0;
232
+ /**
233
+ * xmlGetWarningsDefaultValue:
234
+ *
235
+ * Global setting, indicate that the parser should provide warnings.
236
+ * Activated by default.
237
+ */
238
+ int xmlGetWarningsDefaultValue = 1;
239
+ static int xmlGetWarningsDefaultValueThrDef = 1;
240
+ /**
241
+ * xmlLoadExtDtdDefaultValue:
242
+ *
243
+ * Global setting, indicate that the parser should load DTD while not
244
+ * validating.
245
+ * Disabled by default.
246
+ */
247
+ int xmlLoadExtDtdDefaultValue = 0;
248
+ static int xmlLoadExtDtdDefaultValueThrDef = 0;
249
+ /**
250
+ * xmlPedanticParserDefaultValue:
251
+ *
252
+ * Global setting, indicate that the parser be pedantic
253
+ * Disabled by default.
254
+ */
255
+ int xmlPedanticParserDefaultValue = 0;
256
+ static int xmlPedanticParserDefaultValueThrDef = 0;
257
+ /**
258
+ * xmlLineNumbersDefaultValue:
259
+ *
260
+ * Global setting, indicate that the parser should store the line number
261
+ * in the content field of elements in the DOM tree.
262
+ * Disabled by default since this may not be safe for old classes of
263
+ * application.
264
+ */
265
+ int xmlLineNumbersDefaultValue = 0;
266
+ static int xmlLineNumbersDefaultValueThrDef = 0;
267
+ /**
268
+ * xmlKeepBlanksDefaultValue:
269
+ *
270
+ * Global setting, indicate that the parser should keep all blanks
271
+ * nodes found in the content
272
+ * Activated by default, this is actually needed to have the parser
273
+ * conformant to the XML Recommendation, however the option is kept
274
+ * for some applications since this was libxml1 default behaviour.
275
+ */
276
+ int xmlKeepBlanksDefaultValue = 1;
277
+ static int xmlKeepBlanksDefaultValueThrDef = 1;
278
+ /**
279
+ * xmlSubstituteEntitiesDefaultValue:
280
+ *
281
+ * Global setting, indicate that the parser should not generate entity
282
+ * references but replace them with the actual content of the entity
283
+ * Disabled by default, this should be activated when using XPath since
284
+ * the XPath data model requires entities replacement and the XPath
285
+ * engine does not handle entities references transparently.
286
+ */
287
+ int xmlSubstituteEntitiesDefaultValue = 0;
288
+ static int xmlSubstituteEntitiesDefaultValueThrDef = 0;
289
+
290
+ xmlRegisterNodeFunc xmlRegisterNodeDefaultValue = NULL;
291
+ static xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL;
292
+ xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL;
293
+ static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL;
294
+
295
+ xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL;
296
+ static xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL;
297
+
298
+ xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL;
299
+ static xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL;
300
+
301
+ /*
302
+ * Error handling
303
+ */
304
+
305
+ /* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */
306
+ /* Must initialize xmlGenericError in xmlInitParser */
307
+ void XMLCDECL xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED,
308
+ const char *msg,
309
+ ...);
310
+ /**
311
+ * xmlGenericError:
312
+ *
313
+ * Global setting: function used for generic error callbacks
314
+ */
315
+ xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc;
316
+ static xmlGenericErrorFunc xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
317
+ /**
318
+ * xmlStructuredError:
319
+ *
320
+ * Global setting: function used for structured error callbacks
321
+ */
322
+ xmlStructuredErrorFunc xmlStructuredError = NULL;
323
+ static xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL;
324
+ /**
325
+ * xmlGenericErrorContext:
326
+ *
327
+ * Global setting passed to generic error callbacks
328
+ */
329
+ void *xmlGenericErrorContext = NULL;
330
+ static void *xmlGenericErrorContextThrDef = NULL;
331
+ /**
332
+ * xmlStructuredErrorContext:
333
+ *
334
+ * Global setting passed to structured error callbacks
335
+ */
336
+ void *xmlStructuredErrorContext = NULL;
337
+ static void *xmlStructuredErrorContextThrDef = NULL;
338
+ xmlError xmlLastError;
339
+
340
+ /*
341
+ * output defaults
342
+ */
343
+ /**
344
+ * xmlIndentTreeOutput:
345
+ *
346
+ * Global setting, asking the serializer to indent the output tree by default
347
+ * Enabled by default
348
+ */
349
+ int xmlIndentTreeOutput = 1;
350
+ static int xmlIndentTreeOutputThrDef = 1;
351
+
352
+ /**
353
+ * xmlTreeIndentString:
354
+ *
355
+ * The string used to do one-level indent. By default is equal to " " (two spaces)
356
+ */
357
+ const char *xmlTreeIndentString = " ";
358
+ static const char *xmlTreeIndentStringThrDef = " ";
359
+
360
+ /**
361
+ * xmlSaveNoEmptyTags:
362
+ *
363
+ * Global setting, asking the serializer to not output empty tags
364
+ * as <empty/> but <empty></empty>. those two forms are indistinguishable
365
+ * once parsed.
366
+ * Disabled by default
367
+ */
368
+ int xmlSaveNoEmptyTags = 0;
369
+ static int xmlSaveNoEmptyTagsThrDef = 0;
370
+
371
+ #ifdef LIBXML_SAX1_ENABLED
372
+ /**
373
+ * xmlDefaultSAXHandler:
374
+ *
375
+ * Default SAX version1 handler for XML, builds the DOM tree
376
+ */
377
+ xmlSAXHandlerV1 xmlDefaultSAXHandler = {
378
+ xmlSAX2InternalSubset,
379
+ xmlSAX2IsStandalone,
380
+ xmlSAX2HasInternalSubset,
381
+ xmlSAX2HasExternalSubset,
382
+ xmlSAX2ResolveEntity,
383
+ xmlSAX2GetEntity,
384
+ xmlSAX2EntityDecl,
385
+ xmlSAX2NotationDecl,
386
+ xmlSAX2AttributeDecl,
387
+ xmlSAX2ElementDecl,
388
+ xmlSAX2UnparsedEntityDecl,
389
+ xmlSAX2SetDocumentLocator,
390
+ xmlSAX2StartDocument,
391
+ xmlSAX2EndDocument,
392
+ xmlSAX2StartElement,
393
+ xmlSAX2EndElement,
394
+ xmlSAX2Reference,
395
+ xmlSAX2Characters,
396
+ xmlSAX2Characters,
397
+ xmlSAX2ProcessingInstruction,
398
+ xmlSAX2Comment,
399
+ xmlParserWarning,
400
+ xmlParserError,
401
+ xmlParserError,
402
+ xmlSAX2GetParameterEntity,
403
+ xmlSAX2CDataBlock,
404
+ xmlSAX2ExternalSubset,
405
+ 0,
406
+ };
407
+ #endif /* LIBXML_SAX1_ENABLED */
408
+
409
+ /**
410
+ * xmlDefaultSAXLocator:
411
+ *
412
+ * The default SAX Locator
413
+ * { getPublicId, getSystemId, getLineNumber, getColumnNumber}
414
+ */
415
+ xmlSAXLocator xmlDefaultSAXLocator = {
416
+ xmlSAX2GetPublicId,
417
+ xmlSAX2GetSystemId,
418
+ xmlSAX2GetLineNumber,
419
+ xmlSAX2GetColumnNumber
420
+ };
421
+
422
+ #ifdef LIBXML_HTML_ENABLED
423
+ /**
424
+ * htmlDefaultSAXHandler:
425
+ *
426
+ * Default old SAX v1 handler for HTML, builds the DOM tree
427
+ */
428
+ xmlSAXHandlerV1 htmlDefaultSAXHandler = {
429
+ xmlSAX2InternalSubset,
430
+ NULL,
431
+ NULL,
432
+ NULL,
433
+ NULL,
434
+ xmlSAX2GetEntity,
435
+ NULL,
436
+ NULL,
437
+ NULL,
438
+ NULL,
439
+ NULL,
440
+ xmlSAX2SetDocumentLocator,
441
+ xmlSAX2StartDocument,
442
+ xmlSAX2EndDocument,
443
+ xmlSAX2StartElement,
444
+ xmlSAX2EndElement,
445
+ NULL,
446
+ xmlSAX2Characters,
447
+ xmlSAX2IgnorableWhitespace,
448
+ xmlSAX2ProcessingInstruction,
449
+ xmlSAX2Comment,
450
+ xmlParserWarning,
451
+ xmlParserError,
452
+ xmlParserError,
453
+ xmlSAX2GetParameterEntity,
454
+ xmlSAX2CDataBlock,
455
+ NULL,
456
+ 0,
457
+ };
458
+ #endif /* LIBXML_HTML_ENABLED */
459
+
460
+ #ifdef LIBXML_DOCB_ENABLED
461
+ /**
462
+ * docbDefaultSAXHandler:
463
+ *
464
+ * Default old SAX v1 handler for SGML DocBook, builds the DOM tree
465
+ */
466
+ xmlSAXHandlerV1 docbDefaultSAXHandler = {
467
+ xmlSAX2InternalSubset,
468
+ xmlSAX2IsStandalone,
469
+ xmlSAX2HasInternalSubset,
470
+ xmlSAX2HasExternalSubset,
471
+ xmlSAX2ResolveEntity,
472
+ xmlSAX2GetEntity,
473
+ xmlSAX2EntityDecl,
474
+ NULL,
475
+ NULL,
476
+ NULL,
477
+ NULL,
478
+ xmlSAX2SetDocumentLocator,
479
+ xmlSAX2StartDocument,
480
+ xmlSAX2EndDocument,
481
+ xmlSAX2StartElement,
482
+ xmlSAX2EndElement,
483
+ xmlSAX2Reference,
484
+ xmlSAX2Characters,
485
+ xmlSAX2IgnorableWhitespace,
486
+ NULL,
487
+ xmlSAX2Comment,
488
+ xmlParserWarning,
489
+ xmlParserError,
490
+ xmlParserError,
491
+ xmlSAX2GetParameterEntity,
492
+ NULL,
493
+ NULL,
494
+ 0,
495
+ };
496
+ #endif /* LIBXML_DOCB_ENABLED */
497
+
498
+ /**
499
+ * xmlInitializeGlobalState:
500
+ * @gs: a pointer to a newly allocated global state
501
+ *
502
+ * xmlInitializeGlobalState() initialize a global state with all the
503
+ * default values of the library.
504
+ */
505
+ void
506
+ xmlInitializeGlobalState(xmlGlobalStatePtr gs)
507
+ {
508
+ #ifdef DEBUG_GLOBALS
509
+ fprintf(stderr, "Initializing globals at %lu for thread %d\n",
510
+ (unsigned long) gs, xmlGetThreadId());
511
+ #endif
512
+
513
+ /*
514
+ * Perform initialization as required by libxml
515
+ */
516
+ if (xmlThrDefMutex == NULL)
517
+ xmlInitGlobals();
518
+
519
+ xmlMutexLock(xmlThrDefMutex);
520
+
521
+ #if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
522
+ initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler);
523
+ #endif
524
+ #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
525
+ inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
526
+ #endif
527
+
528
+ gs->oldXMLWDcompatibility = 0;
529
+ gs->xmlBufferAllocScheme = xmlBufferAllocSchemeThrDef;
530
+ gs->xmlDefaultBufferSize = xmlDefaultBufferSizeThrDef;
531
+ #if defined(LIBXML_SAX1_ENABLED) && defined(LIBXML_LEGACY_ENABLED)
532
+ initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1);
533
+ #endif /* LIBXML_SAX1_ENABLED */
534
+ gs->xmlDefaultSAXLocator.getPublicId = xmlSAX2GetPublicId;
535
+ gs->xmlDefaultSAXLocator.getSystemId = xmlSAX2GetSystemId;
536
+ gs->xmlDefaultSAXLocator.getLineNumber = xmlSAX2GetLineNumber;
537
+ gs->xmlDefaultSAXLocator.getColumnNumber = xmlSAX2GetColumnNumber;
538
+ gs->xmlDoValidityCheckingDefaultValue =
539
+ xmlDoValidityCheckingDefaultValueThrDef;
540
+ #if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY)
541
+ gs->xmlFree = (xmlFreeFunc) xmlMemFree;
542
+ gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
543
+ gs->xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc;
544
+ gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
545
+ gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
546
+ #else
547
+ gs->xmlFree = (xmlFreeFunc) free;
548
+ gs->xmlMalloc = (xmlMallocFunc) malloc;
549
+ gs->xmlMallocAtomic = (xmlMallocFunc) malloc;
550
+ gs->xmlRealloc = (xmlReallocFunc) realloc;
551
+ gs->xmlMemStrdup = (xmlStrdupFunc) xmlStrdup;
552
+ #endif
553
+ gs->xmlGetWarningsDefaultValue = xmlGetWarningsDefaultValueThrDef;
554
+ gs->xmlIndentTreeOutput = xmlIndentTreeOutputThrDef;
555
+ gs->xmlTreeIndentString = xmlTreeIndentStringThrDef;
556
+ gs->xmlKeepBlanksDefaultValue = xmlKeepBlanksDefaultValueThrDef;
557
+ gs->xmlLineNumbersDefaultValue = xmlLineNumbersDefaultValueThrDef;
558
+ gs->xmlLoadExtDtdDefaultValue = xmlLoadExtDtdDefaultValueThrDef;
559
+ gs->xmlParserDebugEntities = xmlParserDebugEntitiesThrDef;
560
+ gs->xmlParserVersion = LIBXML_VERSION_STRING;
561
+ gs->xmlPedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef;
562
+ gs->xmlSaveNoEmptyTags = xmlSaveNoEmptyTagsThrDef;
563
+ gs->xmlSubstituteEntitiesDefaultValue =
564
+ xmlSubstituteEntitiesDefaultValueThrDef;
565
+
566
+ gs->xmlGenericError = xmlGenericErrorThrDef;
567
+ gs->xmlStructuredError = xmlStructuredErrorThrDef;
568
+ gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef;
569
+ gs->xmlStructuredErrorContext = xmlStructuredErrorContextThrDef;
570
+ gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef;
571
+ gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef;
572
+
573
+ gs->xmlParserInputBufferCreateFilenameValue = xmlParserInputBufferCreateFilenameValueThrDef;
574
+ gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef;
575
+ memset(&gs->xmlLastError, 0, sizeof(xmlError));
576
+
577
+ xmlMutexUnlock(xmlThrDefMutex);
578
+ }
579
+
580
+ /**
581
+ * DOC_DISABLE : we ignore missing doc for the xmlThrDef functions,
582
+ * those are really internal work
583
+ */
584
+ void
585
+ xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
586
+ xmlMutexLock(xmlThrDefMutex);
587
+ xmlGenericErrorContextThrDef = ctx;
588
+ if (handler != NULL)
589
+ xmlGenericErrorThrDef = handler;
590
+ else
591
+ xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
592
+ xmlMutexUnlock(xmlThrDefMutex);
593
+ }
594
+
595
+ void
596
+ xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
597
+ xmlMutexLock(xmlThrDefMutex);
598
+ xmlStructuredErrorContextThrDef = ctx;
599
+ xmlStructuredErrorThrDef = handler;
600
+ xmlMutexUnlock(xmlThrDefMutex);
601
+ }
602
+
603
+ /**
604
+ * xmlRegisterNodeDefault:
605
+ * @func: function pointer to the new RegisterNodeFunc
606
+ *
607
+ * Registers a callback for node creation
608
+ *
609
+ * Returns the old value of the registration function
610
+ */
611
+ xmlRegisterNodeFunc
612
+ xmlRegisterNodeDefault(xmlRegisterNodeFunc func)
613
+ {
614
+ xmlRegisterNodeFunc old = xmlRegisterNodeDefaultValue;
615
+
616
+ __xmlRegisterCallbacks = 1;
617
+ xmlRegisterNodeDefaultValue = func;
618
+ return(old);
619
+ }
620
+
621
+ xmlRegisterNodeFunc
622
+ xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func)
623
+ {
624
+ xmlRegisterNodeFunc old;
625
+
626
+ xmlMutexLock(xmlThrDefMutex);
627
+ old = xmlRegisterNodeDefaultValueThrDef;
628
+
629
+ __xmlRegisterCallbacks = 1;
630
+ xmlRegisterNodeDefaultValueThrDef = func;
631
+ xmlMutexUnlock(xmlThrDefMutex);
632
+
633
+ return(old);
634
+ }
635
+
636
+ /**
637
+ * xmlDeregisterNodeDefault:
638
+ * @func: function pointer to the new DeregisterNodeFunc
639
+ *
640
+ * Registers a callback for node destruction
641
+ *
642
+ * Returns the previous value of the deregistration function
643
+ */
644
+ xmlDeregisterNodeFunc
645
+ xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func)
646
+ {
647
+ xmlDeregisterNodeFunc old = xmlDeregisterNodeDefaultValue;
648
+
649
+ __xmlRegisterCallbacks = 1;
650
+ xmlDeregisterNodeDefaultValue = func;
651
+ return(old);
652
+ }
653
+
654
+ xmlDeregisterNodeFunc
655
+ xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func)
656
+ {
657
+ xmlDeregisterNodeFunc old;
658
+
659
+ xmlMutexLock(xmlThrDefMutex);
660
+ old = xmlDeregisterNodeDefaultValueThrDef;
661
+
662
+ __xmlRegisterCallbacks = 1;
663
+ xmlDeregisterNodeDefaultValueThrDef = func;
664
+ xmlMutexUnlock(xmlThrDefMutex);
665
+
666
+ return(old);
667
+ }
668
+
669
+ xmlParserInputBufferCreateFilenameFunc
670
+ xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func)
671
+ {
672
+ xmlParserInputBufferCreateFilenameFunc old;
673
+
674
+ xmlMutexLock(xmlThrDefMutex);
675
+ old = xmlParserInputBufferCreateFilenameValueThrDef;
676
+ if (old == NULL) {
677
+ old = __xmlParserInputBufferCreateFilename;
678
+ }
679
+
680
+ xmlParserInputBufferCreateFilenameValueThrDef = func;
681
+ xmlMutexUnlock(xmlThrDefMutex);
682
+
683
+ return(old);
684
+ }
685
+
686
+ xmlOutputBufferCreateFilenameFunc
687
+ xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func)
688
+ {
689
+ xmlOutputBufferCreateFilenameFunc old;
690
+
691
+ xmlMutexLock(xmlThrDefMutex);
692
+ old = xmlOutputBufferCreateFilenameValueThrDef;
693
+ #ifdef LIBXML_OUTPUT_ENABLED
694
+ if (old == NULL) {
695
+ old = __xmlOutputBufferCreateFilename;
696
+ }
697
+ #endif
698
+ xmlOutputBufferCreateFilenameValueThrDef = func;
699
+ xmlMutexUnlock(xmlThrDefMutex);
700
+
701
+ return(old);
702
+ }
703
+
704
+ #ifdef LIBXML_DOCB_ENABLED
705
+ #undef docbDefaultSAXHandler
706
+ xmlSAXHandlerV1 *
707
+ __docbDefaultSAXHandler(void) {
708
+ if (IS_MAIN_THREAD)
709
+ return (&docbDefaultSAXHandler);
710
+ else
711
+ return (&xmlGetGlobalState()->docbDefaultSAXHandler);
712
+ }
713
+ #endif
714
+
715
+ #ifdef LIBXML_HTML_ENABLED
716
+ #undef htmlDefaultSAXHandler
717
+ xmlSAXHandlerV1 *
718
+ __htmlDefaultSAXHandler(void) {
719
+ if (IS_MAIN_THREAD)
720
+ return (&htmlDefaultSAXHandler);
721
+ else
722
+ return (&xmlGetGlobalState()->htmlDefaultSAXHandler);
723
+ }
724
+ #endif
725
+
726
+ #undef xmlLastError
727
+ xmlError *
728
+ __xmlLastError(void) {
729
+ if (IS_MAIN_THREAD)
730
+ return (&xmlLastError);
731
+ else
732
+ return (&xmlGetGlobalState()->xmlLastError);
733
+ }
734
+
735
+ /*
736
+ * The following memory routines were apparently lost at some point,
737
+ * and were re-inserted at this point on June 10, 2004. Hope it's
738
+ * the right place for them :-)
739
+ */
740
+ #if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED)
741
+ #undef xmlMalloc
742
+ xmlMallocFunc *
743
+ __xmlMalloc(void){
744
+ if (IS_MAIN_THREAD)
745
+ return (&xmlMalloc);
746
+ else
747
+ return (&xmlGetGlobalState()->xmlMalloc);
748
+ }
749
+
750
+ #undef xmlMallocAtomic
751
+ xmlMallocFunc *
752
+ __xmlMallocAtomic(void){
753
+ if (IS_MAIN_THREAD)
754
+ return (&xmlMallocAtomic);
755
+ else
756
+ return (&xmlGetGlobalState()->xmlMallocAtomic);
757
+ }
758
+
759
+ #undef xmlRealloc
760
+ xmlReallocFunc *
761
+ __xmlRealloc(void){
762
+ if (IS_MAIN_THREAD)
763
+ return (&xmlRealloc);
764
+ else
765
+ return (&xmlGetGlobalState()->xmlRealloc);
766
+ }
767
+
768
+ #undef xmlFree
769
+ xmlFreeFunc *
770
+ __xmlFree(void){
771
+ if (IS_MAIN_THREAD)
772
+ return (&xmlFree);
773
+ else
774
+ return (&xmlGetGlobalState()->xmlFree);
775
+ }
776
+
777
+ xmlStrdupFunc *
778
+ __xmlMemStrdup(void){
779
+ if (IS_MAIN_THREAD)
780
+ return (&xmlMemStrdup);
781
+ else
782
+ return (&xmlGetGlobalState()->xmlMemStrdup);
783
+ }
784
+
785
+ #endif
786
+
787
+ /*
788
+ * Everything starting from the line below is
789
+ * Automatically generated by build_glob.py.
790
+ * Do not modify the previous line.
791
+ */
792
+
793
+
794
+ #undef oldXMLWDcompatibility
795
+ int *
796
+ __oldXMLWDcompatibility(void) {
797
+ if (IS_MAIN_THREAD)
798
+ return (&oldXMLWDcompatibility);
799
+ else
800
+ return (&xmlGetGlobalState()->oldXMLWDcompatibility);
801
+ }
802
+
803
+ #undef xmlBufferAllocScheme
804
+ xmlBufferAllocationScheme *
805
+ __xmlBufferAllocScheme(void) {
806
+ if (IS_MAIN_THREAD)
807
+ return (&xmlBufferAllocScheme);
808
+ else
809
+ return (&xmlGetGlobalState()->xmlBufferAllocScheme);
810
+ }
811
+ xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) {
812
+ xmlBufferAllocationScheme ret;
813
+ xmlMutexLock(xmlThrDefMutex);
814
+ ret = xmlBufferAllocSchemeThrDef;
815
+ xmlBufferAllocSchemeThrDef = v;
816
+ xmlMutexUnlock(xmlThrDefMutex);
817
+ return ret;
818
+ }
819
+
820
+ #undef xmlDefaultBufferSize
821
+ int *
822
+ __xmlDefaultBufferSize(void) {
823
+ if (IS_MAIN_THREAD)
824
+ return (&xmlDefaultBufferSize);
825
+ else
826
+ return (&xmlGetGlobalState()->xmlDefaultBufferSize);
827
+ }
828
+ int xmlThrDefDefaultBufferSize(int v) {
829
+ int ret;
830
+ xmlMutexLock(xmlThrDefMutex);
831
+ ret = xmlDefaultBufferSizeThrDef;
832
+ xmlDefaultBufferSizeThrDef = v;
833
+ xmlMutexUnlock(xmlThrDefMutex);
834
+ return ret;
835
+ }
836
+
837
+ #ifdef LIBXML_SAX1_ENABLED
838
+ #undef xmlDefaultSAXHandler
839
+ xmlSAXHandlerV1 *
840
+ __xmlDefaultSAXHandler(void) {
841
+ if (IS_MAIN_THREAD)
842
+ return (&xmlDefaultSAXHandler);
843
+ else
844
+ return (&xmlGetGlobalState()->xmlDefaultSAXHandler);
845
+ }
846
+ #endif /* LIBXML_SAX1_ENABLED */
847
+
848
+ #undef xmlDefaultSAXLocator
849
+ xmlSAXLocator *
850
+ __xmlDefaultSAXLocator(void) {
851
+ if (IS_MAIN_THREAD)
852
+ return (&xmlDefaultSAXLocator);
853
+ else
854
+ return (&xmlGetGlobalState()->xmlDefaultSAXLocator);
855
+ }
856
+
857
+ #undef xmlDoValidityCheckingDefaultValue
858
+ int *
859
+ __xmlDoValidityCheckingDefaultValue(void) {
860
+ if (IS_MAIN_THREAD)
861
+ return (&xmlDoValidityCheckingDefaultValue);
862
+ else
863
+ return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultValue);
864
+ }
865
+ int xmlThrDefDoValidityCheckingDefaultValue(int v) {
866
+ int ret;
867
+ xmlMutexLock(xmlThrDefMutex);
868
+ ret = xmlDoValidityCheckingDefaultValueThrDef;
869
+ xmlDoValidityCheckingDefaultValueThrDef = v;
870
+ xmlMutexUnlock(xmlThrDefMutex);
871
+ return ret;
872
+ }
873
+
874
+ #undef xmlGenericError
875
+ xmlGenericErrorFunc *
876
+ __xmlGenericError(void) {
877
+ if (IS_MAIN_THREAD)
878
+ return (&xmlGenericError);
879
+ else
880
+ return (&xmlGetGlobalState()->xmlGenericError);
881
+ }
882
+
883
+ #undef xmlStructuredError
884
+ xmlStructuredErrorFunc *
885
+ __xmlStructuredError(void) {
886
+ if (IS_MAIN_THREAD)
887
+ return (&xmlStructuredError);
888
+ else
889
+ return (&xmlGetGlobalState()->xmlStructuredError);
890
+ }
891
+
892
+ #undef xmlGenericErrorContext
893
+ void * *
894
+ __xmlGenericErrorContext(void) {
895
+ if (IS_MAIN_THREAD)
896
+ return (&xmlGenericErrorContext);
897
+ else
898
+ return (&xmlGetGlobalState()->xmlGenericErrorContext);
899
+ }
900
+
901
+ #undef xmlStructuredErrorContext
902
+ void * *
903
+ __xmlStructuredErrorContext(void) {
904
+ if (IS_MAIN_THREAD)
905
+ return (&xmlStructuredErrorContext);
906
+ else
907
+ return (&xmlGetGlobalState()->xmlStructuredErrorContext);
908
+ }
909
+
910
+ #undef xmlGetWarningsDefaultValue
911
+ int *
912
+ __xmlGetWarningsDefaultValue(void) {
913
+ if (IS_MAIN_THREAD)
914
+ return (&xmlGetWarningsDefaultValue);
915
+ else
916
+ return (&xmlGetGlobalState()->xmlGetWarningsDefaultValue);
917
+ }
918
+ int xmlThrDefGetWarningsDefaultValue(int v) {
919
+ int ret;
920
+ xmlMutexLock(xmlThrDefMutex);
921
+ ret = xmlGetWarningsDefaultValueThrDef;
922
+ xmlGetWarningsDefaultValueThrDef = v;
923
+ xmlMutexUnlock(xmlThrDefMutex);
924
+ return ret;
925
+ }
926
+
927
+ #undef xmlIndentTreeOutput
928
+ int *
929
+ __xmlIndentTreeOutput(void) {
930
+ if (IS_MAIN_THREAD)
931
+ return (&xmlIndentTreeOutput);
932
+ else
933
+ return (&xmlGetGlobalState()->xmlIndentTreeOutput);
934
+ }
935
+ int xmlThrDefIndentTreeOutput(int v) {
936
+ int ret;
937
+ xmlMutexLock(xmlThrDefMutex);
938
+ ret = xmlIndentTreeOutputThrDef;
939
+ xmlIndentTreeOutputThrDef = v;
940
+ xmlMutexUnlock(xmlThrDefMutex);
941
+ return ret;
942
+ }
943
+
944
+ #undef xmlTreeIndentString
945
+ const char * *
946
+ __xmlTreeIndentString(void) {
947
+ if (IS_MAIN_THREAD)
948
+ return (&xmlTreeIndentString);
949
+ else
950
+ return (&xmlGetGlobalState()->xmlTreeIndentString);
951
+ }
952
+ const char * xmlThrDefTreeIndentString(const char * v) {
953
+ const char * ret;
954
+ xmlMutexLock(xmlThrDefMutex);
955
+ ret = xmlTreeIndentStringThrDef;
956
+ xmlTreeIndentStringThrDef = v;
957
+ xmlMutexUnlock(xmlThrDefMutex);
958
+ return ret;
959
+ }
960
+
961
+ #undef xmlKeepBlanksDefaultValue
962
+ int *
963
+ __xmlKeepBlanksDefaultValue(void) {
964
+ if (IS_MAIN_THREAD)
965
+ return (&xmlKeepBlanksDefaultValue);
966
+ else
967
+ return (&xmlGetGlobalState()->xmlKeepBlanksDefaultValue);
968
+ }
969
+ int xmlThrDefKeepBlanksDefaultValue(int v) {
970
+ int ret;
971
+ xmlMutexLock(xmlThrDefMutex);
972
+ ret = xmlKeepBlanksDefaultValueThrDef;
973
+ xmlKeepBlanksDefaultValueThrDef = v;
974
+ xmlMutexUnlock(xmlThrDefMutex);
975
+ return ret;
976
+ }
977
+
978
+ #undef xmlLineNumbersDefaultValue
979
+ int *
980
+ __xmlLineNumbersDefaultValue(void) {
981
+ if (IS_MAIN_THREAD)
982
+ return (&xmlLineNumbersDefaultValue);
983
+ else
984
+ return (&xmlGetGlobalState()->xmlLineNumbersDefaultValue);
985
+ }
986
+ int xmlThrDefLineNumbersDefaultValue(int v) {
987
+ int ret;
988
+ xmlMutexLock(xmlThrDefMutex);
989
+ ret = xmlLineNumbersDefaultValueThrDef;
990
+ xmlLineNumbersDefaultValueThrDef = v;
991
+ xmlMutexUnlock(xmlThrDefMutex);
992
+ return ret;
993
+ }
994
+
995
+ #undef xmlLoadExtDtdDefaultValue
996
+ int *
997
+ __xmlLoadExtDtdDefaultValue(void) {
998
+ if (IS_MAIN_THREAD)
999
+ return (&xmlLoadExtDtdDefaultValue);
1000
+ else
1001
+ return (&xmlGetGlobalState()->xmlLoadExtDtdDefaultValue);
1002
+ }
1003
+ int xmlThrDefLoadExtDtdDefaultValue(int v) {
1004
+ int ret;
1005
+ xmlMutexLock(xmlThrDefMutex);
1006
+ ret = xmlLoadExtDtdDefaultValueThrDef;
1007
+ xmlLoadExtDtdDefaultValueThrDef = v;
1008
+ xmlMutexUnlock(xmlThrDefMutex);
1009
+ return ret;
1010
+ }
1011
+
1012
+ #undef xmlParserDebugEntities
1013
+ int *
1014
+ __xmlParserDebugEntities(void) {
1015
+ if (IS_MAIN_THREAD)
1016
+ return (&xmlParserDebugEntities);
1017
+ else
1018
+ return (&xmlGetGlobalState()->xmlParserDebugEntities);
1019
+ }
1020
+ int xmlThrDefParserDebugEntities(int v) {
1021
+ int ret;
1022
+ xmlMutexLock(xmlThrDefMutex);
1023
+ ret = xmlParserDebugEntitiesThrDef;
1024
+ xmlParserDebugEntitiesThrDef = v;
1025
+ xmlMutexUnlock(xmlThrDefMutex);
1026
+ return ret;
1027
+ }
1028
+
1029
+ #undef xmlParserVersion
1030
+ const char * *
1031
+ __xmlParserVersion(void) {
1032
+ if (IS_MAIN_THREAD)
1033
+ return (&xmlParserVersion);
1034
+ else
1035
+ return (&xmlGetGlobalState()->xmlParserVersion);
1036
+ }
1037
+
1038
+ #undef xmlPedanticParserDefaultValue
1039
+ int *
1040
+ __xmlPedanticParserDefaultValue(void) {
1041
+ if (IS_MAIN_THREAD)
1042
+ return (&xmlPedanticParserDefaultValue);
1043
+ else
1044
+ return (&xmlGetGlobalState()->xmlPedanticParserDefaultValue);
1045
+ }
1046
+ int xmlThrDefPedanticParserDefaultValue(int v) {
1047
+ int ret;
1048
+ xmlMutexLock(xmlThrDefMutex);
1049
+ ret = xmlPedanticParserDefaultValueThrDef;
1050
+ xmlPedanticParserDefaultValueThrDef = v;
1051
+ xmlMutexUnlock(xmlThrDefMutex);
1052
+ return ret;
1053
+ }
1054
+
1055
+ #undef xmlSaveNoEmptyTags
1056
+ int *
1057
+ __xmlSaveNoEmptyTags(void) {
1058
+ if (IS_MAIN_THREAD)
1059
+ return (&xmlSaveNoEmptyTags);
1060
+ else
1061
+ return (&xmlGetGlobalState()->xmlSaveNoEmptyTags);
1062
+ }
1063
+ int xmlThrDefSaveNoEmptyTags(int v) {
1064
+ int ret;
1065
+ xmlMutexLock(xmlThrDefMutex);
1066
+ ret = xmlSaveNoEmptyTagsThrDef;
1067
+ xmlSaveNoEmptyTagsThrDef = v;
1068
+ xmlMutexUnlock(xmlThrDefMutex);
1069
+ return ret;
1070
+ }
1071
+
1072
+ #undef xmlSubstituteEntitiesDefaultValue
1073
+ int *
1074
+ __xmlSubstituteEntitiesDefaultValue(void) {
1075
+ if (IS_MAIN_THREAD)
1076
+ return (&xmlSubstituteEntitiesDefaultValue);
1077
+ else
1078
+ return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultValue);
1079
+ }
1080
+ int xmlThrDefSubstituteEntitiesDefaultValue(int v) {
1081
+ int ret;
1082
+ xmlMutexLock(xmlThrDefMutex);
1083
+ ret = xmlSubstituteEntitiesDefaultValueThrDef;
1084
+ xmlSubstituteEntitiesDefaultValueThrDef = v;
1085
+ xmlMutexUnlock(xmlThrDefMutex);
1086
+ return ret;
1087
+ }
1088
+
1089
+ #undef xmlRegisterNodeDefaultValue
1090
+ xmlRegisterNodeFunc *
1091
+ __xmlRegisterNodeDefaultValue(void) {
1092
+ if (IS_MAIN_THREAD)
1093
+ return (&xmlRegisterNodeDefaultValue);
1094
+ else
1095
+ return (&xmlGetGlobalState()->xmlRegisterNodeDefaultValue);
1096
+ }
1097
+
1098
+ #undef xmlDeregisterNodeDefaultValue
1099
+ xmlDeregisterNodeFunc *
1100
+ __xmlDeregisterNodeDefaultValue(void) {
1101
+ if (IS_MAIN_THREAD)
1102
+ return (&xmlDeregisterNodeDefaultValue);
1103
+ else
1104
+ return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue);
1105
+ }
1106
+
1107
+ #undef xmlParserInputBufferCreateFilenameValue
1108
+ xmlParserInputBufferCreateFilenameFunc *
1109
+ __xmlParserInputBufferCreateFilenameValue(void) {
1110
+ if (IS_MAIN_THREAD)
1111
+ return (&xmlParserInputBufferCreateFilenameValue);
1112
+ else
1113
+ return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue);
1114
+ }
1115
+
1116
+ #undef xmlOutputBufferCreateFilenameValue
1117
+ xmlOutputBufferCreateFilenameFunc *
1118
+ __xmlOutputBufferCreateFilenameValue(void) {
1119
+ if (IS_MAIN_THREAD)
1120
+ return (&xmlOutputBufferCreateFilenameValue);
1121
+ else
1122
+ return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue);
1123
+ }
1124
+
1125
+ #define bottom_globals
1126
+ #include "elfgcchack.h"