nokolexbor 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. checksums.yaml +7 -0
  2. data/ext/nokolexbor/config.h +186 -0
  3. data/ext/nokolexbor/extconf.rb +131 -0
  4. data/ext/nokolexbor/libxml/HTMLparser.h +320 -0
  5. data/ext/nokolexbor/libxml/SAX2.h +173 -0
  6. data/ext/nokolexbor/libxml/chvalid.h +230 -0
  7. data/ext/nokolexbor/libxml/debugXML.h +217 -0
  8. data/ext/nokolexbor/libxml/dict.h +81 -0
  9. data/ext/nokolexbor/libxml/encoding.h +232 -0
  10. data/ext/nokolexbor/libxml/entities.h +153 -0
  11. data/ext/nokolexbor/libxml/globals.h +529 -0
  12. data/ext/nokolexbor/libxml/hash.h +236 -0
  13. data/ext/nokolexbor/libxml/list.h +137 -0
  14. data/ext/nokolexbor/libxml/parser.h +1264 -0
  15. data/ext/nokolexbor/libxml/parserInternals.h +641 -0
  16. data/ext/nokolexbor/libxml/pattern.h +100 -0
  17. data/ext/nokolexbor/libxml/threads.h +94 -0
  18. data/ext/nokolexbor/libxml/tree.h +1315 -0
  19. data/ext/nokolexbor/libxml/uri.h +94 -0
  20. data/ext/nokolexbor/libxml/valid.h +448 -0
  21. data/ext/nokolexbor/libxml/xmlIO.h +369 -0
  22. data/ext/nokolexbor/libxml/xmlautomata.h +146 -0
  23. data/ext/nokolexbor/libxml/xmlerror.h +919 -0
  24. data/ext/nokolexbor/libxml/xmlexports.h +79 -0
  25. data/ext/nokolexbor/libxml/xmlmemory.h +226 -0
  26. data/ext/nokolexbor/libxml/xmlregexp.h +222 -0
  27. data/ext/nokolexbor/libxml/xmlstring.h +140 -0
  28. data/ext/nokolexbor/libxml/xmlversion.h +526 -0
  29. data/ext/nokolexbor/libxml/xpath.h +575 -0
  30. data/ext/nokolexbor/libxml/xpathInternals.h +632 -0
  31. data/ext/nokolexbor/libxml/xpointer.h +137 -0
  32. data/ext/nokolexbor/libxml.h +76 -0
  33. data/ext/nokolexbor/memory.c +39 -0
  34. data/ext/nokolexbor/nl_document.c +51 -0
  35. data/ext/nokolexbor/nl_node.c +790 -0
  36. data/ext/nokolexbor/nl_node_set.c +368 -0
  37. data/ext/nokolexbor/nl_xpath_context.c +200 -0
  38. data/ext/nokolexbor/nokolexbor.c +63 -0
  39. data/ext/nokolexbor/nokolexbor.h +37 -0
  40. data/ext/nokolexbor/private/buf.h +70 -0
  41. data/ext/nokolexbor/private/dict.h +11 -0
  42. data/ext/nokolexbor/private/enc.h +17 -0
  43. data/ext/nokolexbor/private/error.h +21 -0
  44. data/ext/nokolexbor/private/globals.h +9 -0
  45. data/ext/nokolexbor/private/memory.h +9 -0
  46. data/ext/nokolexbor/private/parser.h +27 -0
  47. data/ext/nokolexbor/private/string.h +9 -0
  48. data/ext/nokolexbor/private/threads.h +50 -0
  49. data/ext/nokolexbor/private/tree.h +18 -0
  50. data/ext/nokolexbor/private/xpath.h +7 -0
  51. data/ext/nokolexbor/timsort.h +601 -0
  52. data/ext/nokolexbor/xml_SAX2.c +80 -0
  53. data/ext/nokolexbor/xml_buf.c +363 -0
  54. data/ext/nokolexbor/xml_chvalid.c +334 -0
  55. data/ext/nokolexbor/xml_dict.c +1264 -0
  56. data/ext/nokolexbor/xml_encoding.c +124 -0
  57. data/ext/nokolexbor/xml_error.c +134 -0
  58. data/ext/nokolexbor/xml_globals.c +1085 -0
  59. data/ext/nokolexbor/xml_hash.c +1141 -0
  60. data/ext/nokolexbor/xml_memory.c +203 -0
  61. data/ext/nokolexbor/xml_parser.c +127 -0
  62. data/ext/nokolexbor/xml_parserInternals.c +338 -0
  63. data/ext/nokolexbor/xml_pattern.c +2375 -0
  64. data/ext/nokolexbor/xml_string.c +1051 -0
  65. data/ext/nokolexbor/xml_threads.c +881 -0
  66. data/ext/nokolexbor/xml_tree.c +148 -0
  67. data/ext/nokolexbor/xml_xpath.c +14743 -0
  68. data/lib/nokolexbor/attribute.rb +18 -0
  69. data/lib/nokolexbor/document.rb +6 -0
  70. data/lib/nokolexbor/node.rb +264 -0
  71. data/lib/nokolexbor/node_set.rb +124 -0
  72. data/lib/nokolexbor/version.rb +5 -0
  73. data/lib/nokolexbor/xpath_context.rb +14 -0
  74. data/lib/nokolexbor.rb +17 -0
  75. data/patches/0001-lexbor-support-text-pseudo-element.patch +137 -0
  76. data/patches/0002-lexbor-match-id-class-case-sensitive.patch +22 -0
  77. data/patches/0003-lexbor-attach-template-content-to-self.patch +13 -0
  78. data/vendor/lexbor/CMakeLists.txt +331 -0
  79. data/vendor/lexbor/config.cmake +890 -0
  80. data/vendor/lexbor/feature.cmake +134 -0
  81. data/vendor/lexbor/source/lexbor/core/array.c +208 -0
  82. data/vendor/lexbor/source/lexbor/core/array.h +100 -0
  83. data/vendor/lexbor/source/lexbor/core/array_obj.c +216 -0
  84. data/vendor/lexbor/source/lexbor/core/array_obj.h +134 -0
  85. data/vendor/lexbor/source/lexbor/core/avl.c +442 -0
  86. data/vendor/lexbor/source/lexbor/core/avl.h +82 -0
  87. data/vendor/lexbor/source/lexbor/core/base.h +86 -0
  88. data/vendor/lexbor/source/lexbor/core/bst.c +468 -0
  89. data/vendor/lexbor/source/lexbor/core/bst.h +108 -0
  90. data/vendor/lexbor/source/lexbor/core/bst_map.c +238 -0
  91. data/vendor/lexbor/source/lexbor/core/bst_map.h +87 -0
  92. data/vendor/lexbor/source/lexbor/core/config.cmake +12 -0
  93. data/vendor/lexbor/source/lexbor/core/conv.c +203 -0
  94. data/vendor/lexbor/source/lexbor/core/conv.h +53 -0
  95. data/vendor/lexbor/source/lexbor/core/core.h +35 -0
  96. data/vendor/lexbor/source/lexbor/core/def.h +57 -0
  97. data/vendor/lexbor/source/lexbor/core/diyfp.c +153 -0
  98. data/vendor/lexbor/source/lexbor/core/diyfp.h +258 -0
  99. data/vendor/lexbor/source/lexbor/core/dobject.c +187 -0
  100. data/vendor/lexbor/source/lexbor/core/dobject.h +92 -0
  101. data/vendor/lexbor/source/lexbor/core/dtoa.c +404 -0
  102. data/vendor/lexbor/source/lexbor/core/dtoa.h +28 -0
  103. data/vendor/lexbor/source/lexbor/core/fs.h +60 -0
  104. data/vendor/lexbor/source/lexbor/core/hash.c +476 -0
  105. data/vendor/lexbor/source/lexbor/core/hash.h +218 -0
  106. data/vendor/lexbor/source/lexbor/core/in.c +267 -0
  107. data/vendor/lexbor/source/lexbor/core/in.h +172 -0
  108. data/vendor/lexbor/source/lexbor/core/lexbor.h +35 -0
  109. data/vendor/lexbor/source/lexbor/core/mem.c +228 -0
  110. data/vendor/lexbor/source/lexbor/core/mem.h +141 -0
  111. data/vendor/lexbor/source/lexbor/core/mraw.c +428 -0
  112. data/vendor/lexbor/source/lexbor/core/mraw.h +114 -0
  113. data/vendor/lexbor/source/lexbor/core/perf.h +45 -0
  114. data/vendor/lexbor/source/lexbor/core/plog.c +73 -0
  115. data/vendor/lexbor/source/lexbor/core/plog.h +102 -0
  116. data/vendor/lexbor/source/lexbor/core/print.c +168 -0
  117. data/vendor/lexbor/source/lexbor/core/print.h +39 -0
  118. data/vendor/lexbor/source/lexbor/core/sbst.h +59 -0
  119. data/vendor/lexbor/source/lexbor/core/serialize.c +27 -0
  120. data/vendor/lexbor/source/lexbor/core/serialize.h +32 -0
  121. data/vendor/lexbor/source/lexbor/core/shs.c +118 -0
  122. data/vendor/lexbor/source/lexbor/core/shs.h +82 -0
  123. data/vendor/lexbor/source/lexbor/core/str.c +617 -0
  124. data/vendor/lexbor/source/lexbor/core/str.h +247 -0
  125. data/vendor/lexbor/source/lexbor/core/str_res.h +369 -0
  126. data/vendor/lexbor/source/lexbor/core/strtod.c +326 -0
  127. data/vendor/lexbor/source/lexbor/core/strtod.h +28 -0
  128. data/vendor/lexbor/source/lexbor/core/types.h +39 -0
  129. data/vendor/lexbor/source/lexbor/core/utils.c +43 -0
  130. data/vendor/lexbor/source/lexbor/core/utils.h +36 -0
  131. data/vendor/lexbor/source/lexbor/css/base.h +44 -0
  132. data/vendor/lexbor/source/lexbor/css/config.cmake +2 -0
  133. data/vendor/lexbor/source/lexbor/css/css.h +25 -0
  134. data/vendor/lexbor/source/lexbor/css/log.c +336 -0
  135. data/vendor/lexbor/source/lexbor/css/log.h +103 -0
  136. data/vendor/lexbor/source/lexbor/css/node.h +29 -0
  137. data/vendor/lexbor/source/lexbor/css/parser.c +473 -0
  138. data/vendor/lexbor/source/lexbor/css/parser.h +368 -0
  139. data/vendor/lexbor/source/lexbor/css/selectors/base.h +48 -0
  140. data/vendor/lexbor/source/lexbor/css/selectors/pseudo.c +91 -0
  141. data/vendor/lexbor/source/lexbor/css/selectors/pseudo.h +66 -0
  142. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_const.h +109 -0
  143. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_res.h +302 -0
  144. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.c +279 -0
  145. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.h +85 -0
  146. data/vendor/lexbor/source/lexbor/css/selectors/selector.c +927 -0
  147. data/vendor/lexbor/source/lexbor/css/selectors/selector.h +200 -0
  148. data/vendor/lexbor/source/lexbor/css/selectors/selectors.c +340 -0
  149. data/vendor/lexbor/source/lexbor/css/selectors/selectors.h +137 -0
  150. data/vendor/lexbor/source/lexbor/css/selectors/state.c +1718 -0
  151. data/vendor/lexbor/source/lexbor/css/selectors/state.h +79 -0
  152. data/vendor/lexbor/source/lexbor/css/stylesheet.h +37 -0
  153. data/vendor/lexbor/source/lexbor/css/syntax/anb.c +443 -0
  154. data/vendor/lexbor/source/lexbor/css/syntax/anb.h +45 -0
  155. data/vendor/lexbor/source/lexbor/css/syntax/base.h +33 -0
  156. data/vendor/lexbor/source/lexbor/css/syntax/parser.c +9 -0
  157. data/vendor/lexbor/source/lexbor/css/syntax/parser.h +25 -0
  158. data/vendor/lexbor/source/lexbor/css/syntax/res.h +48 -0
  159. data/vendor/lexbor/source/lexbor/css/syntax/state.c +2603 -0
  160. data/vendor/lexbor/source/lexbor/css/syntax/state.h +140 -0
  161. data/vendor/lexbor/source/lexbor/css/syntax/state_res.h +273 -0
  162. data/vendor/lexbor/source/lexbor/css/syntax/syntax.c +67 -0
  163. data/vendor/lexbor/source/lexbor/css/syntax/token.c +618 -0
  164. data/vendor/lexbor/source/lexbor/css/syntax/token.h +298 -0
  165. data/vendor/lexbor/source/lexbor/css/syntax/token_res.h +68 -0
  166. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.c +30 -0
  167. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.h +58 -0
  168. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.c +278 -0
  169. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.h +121 -0
  170. data/vendor/lexbor/source/lexbor/dom/base.h +32 -0
  171. data/vendor/lexbor/source/lexbor/dom/collection.c +97 -0
  172. data/vendor/lexbor/source/lexbor/dom/collection.h +112 -0
  173. data/vendor/lexbor/source/lexbor/dom/config.cmake +3 -0
  174. data/vendor/lexbor/source/lexbor/dom/dom.h +29 -0
  175. data/vendor/lexbor/source/lexbor/dom/exception.c +18 -0
  176. data/vendor/lexbor/source/lexbor/dom/exception.h +73 -0
  177. data/vendor/lexbor/source/lexbor/dom/interface.c +110 -0
  178. data/vendor/lexbor/source/lexbor/dom/interface.h +88 -0
  179. data/vendor/lexbor/source/lexbor/dom/interfaces/attr.c +445 -0
  180. data/vendor/lexbor/source/lexbor/dom/interfaces/attr.h +152 -0
  181. data/vendor/lexbor/source/lexbor/dom/interfaces/attr_const.h +62 -0
  182. data/vendor/lexbor/source/lexbor/dom/interfaces/attr_res.h +143 -0
  183. data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.c +55 -0
  184. data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.h +38 -0
  185. data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.c +110 -0
  186. data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.h +51 -0
  187. data/vendor/lexbor/source/lexbor/dom/interfaces/comment.c +64 -0
  188. data/vendor/lexbor/source/lexbor/dom/interfaces/comment.h +42 -0
  189. data/vendor/lexbor/source/lexbor/dom/interfaces/document.c +536 -0
  190. data/vendor/lexbor/source/lexbor/dom/interfaces/document.h +243 -0
  191. data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.c +36 -0
  192. data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.h +36 -0
  193. data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.c +125 -0
  194. data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.h +108 -0
  195. data/vendor/lexbor/source/lexbor/dom/interfaces/element.c +1411 -0
  196. data/vendor/lexbor/source/lexbor/dom/interfaces/element.h +319 -0
  197. data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.c +32 -0
  198. data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.h +34 -0
  199. data/vendor/lexbor/source/lexbor/dom/interfaces/node.c +661 -0
  200. data/vendor/lexbor/source/lexbor/dom/interfaces/node.h +192 -0
  201. data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.c +87 -0
  202. data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.h +66 -0
  203. data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.c +36 -0
  204. data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.h +44 -0
  205. data/vendor/lexbor/source/lexbor/dom/interfaces/text.c +63 -0
  206. data/vendor/lexbor/source/lexbor/dom/interfaces/text.h +42 -0
  207. data/vendor/lexbor/source/lexbor/encoding/base.h +218 -0
  208. data/vendor/lexbor/source/lexbor/encoding/big5.c +42839 -0
  209. data/vendor/lexbor/source/lexbor/encoding/config.cmake +12 -0
  210. data/vendor/lexbor/source/lexbor/encoding/const.h +65 -0
  211. data/vendor/lexbor/source/lexbor/encoding/decode.c +3193 -0
  212. data/vendor/lexbor/source/lexbor/encoding/decode.h +370 -0
  213. data/vendor/lexbor/source/lexbor/encoding/encode.c +1931 -0
  214. data/vendor/lexbor/source/lexbor/encoding/encode.h +377 -0
  215. data/vendor/lexbor/source/lexbor/encoding/encoding.c +252 -0
  216. data/vendor/lexbor/source/lexbor/encoding/encoding.h +475 -0
  217. data/vendor/lexbor/source/lexbor/encoding/euc_kr.c +53883 -0
  218. data/vendor/lexbor/source/lexbor/encoding/gb18030.c +47905 -0
  219. data/vendor/lexbor/source/lexbor/encoding/iso_2022_jp_katakana.c +159 -0
  220. data/vendor/lexbor/source/lexbor/encoding/jis0208.c +22477 -0
  221. data/vendor/lexbor/source/lexbor/encoding/jis0212.c +15787 -0
  222. data/vendor/lexbor/source/lexbor/encoding/multi.h +53 -0
  223. data/vendor/lexbor/source/lexbor/encoding/range.c +71 -0
  224. data/vendor/lexbor/source/lexbor/encoding/range.h +34 -0
  225. data/vendor/lexbor/source/lexbor/encoding/res.c +222 -0
  226. data/vendor/lexbor/source/lexbor/encoding/res.h +34 -0
  227. data/vendor/lexbor/source/lexbor/encoding/single.c +13748 -0
  228. data/vendor/lexbor/source/lexbor/encoding/single.h +116 -0
  229. data/vendor/lexbor/source/lexbor/html/base.h +44 -0
  230. data/vendor/lexbor/source/lexbor/html/config.cmake +3 -0
  231. data/vendor/lexbor/source/lexbor/html/encoding.c +574 -0
  232. data/vendor/lexbor/source/lexbor/html/encoding.h +106 -0
  233. data/vendor/lexbor/source/lexbor/html/html.h +107 -0
  234. data/vendor/lexbor/source/lexbor/html/interface.c +165 -0
  235. data/vendor/lexbor/source/lexbor/html/interface.h +186 -0
  236. data/vendor/lexbor/source/lexbor/html/interface_res.h +4449 -0
  237. data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.c +36 -0
  238. data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.h +34 -0
  239. data/vendor/lexbor/source/lexbor/html/interfaces/area_element.c +36 -0
  240. data/vendor/lexbor/source/lexbor/html/interfaces/area_element.h +34 -0
  241. data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.c +36 -0
  242. data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.h +34 -0
  243. data/vendor/lexbor/source/lexbor/html/interfaces/base_element.c +36 -0
  244. data/vendor/lexbor/source/lexbor/html/interfaces/base_element.h +34 -0
  245. data/vendor/lexbor/source/lexbor/html/interfaces/body_element.c +36 -0
  246. data/vendor/lexbor/source/lexbor/html/interfaces/body_element.h +34 -0
  247. data/vendor/lexbor/source/lexbor/html/interfaces/br_element.c +36 -0
  248. data/vendor/lexbor/source/lexbor/html/interfaces/br_element.h +34 -0
  249. data/vendor/lexbor/source/lexbor/html/interfaces/button_element.c +36 -0
  250. data/vendor/lexbor/source/lexbor/html/interfaces/button_element.h +34 -0
  251. data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.c +36 -0
  252. data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.h +34 -0
  253. data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.c +36 -0
  254. data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.h +34 -0
  255. data/vendor/lexbor/source/lexbor/html/interfaces/data_element.c +36 -0
  256. data/vendor/lexbor/source/lexbor/html/interfaces/data_element.h +34 -0
  257. data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.c +36 -0
  258. data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.h +34 -0
  259. data/vendor/lexbor/source/lexbor/html/interfaces/details_element.c +36 -0
  260. data/vendor/lexbor/source/lexbor/html/interfaces/details_element.h +34 -0
  261. data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.c +36 -0
  262. data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.h +34 -0
  263. data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.c +36 -0
  264. data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.h +34 -0
  265. data/vendor/lexbor/source/lexbor/html/interfaces/div_element.c +36 -0
  266. data/vendor/lexbor/source/lexbor/html/interfaces/div_element.h +34 -0
  267. data/vendor/lexbor/source/lexbor/html/interfaces/document.c +444 -0
  268. data/vendor/lexbor/source/lexbor/html/interfaces/document.h +256 -0
  269. data/vendor/lexbor/source/lexbor/html/interfaces/element.c +64 -0
  270. data/vendor/lexbor/source/lexbor/html/interfaces/element.h +54 -0
  271. data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.c +36 -0
  272. data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.h +34 -0
  273. data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.c +36 -0
  274. data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.h +34 -0
  275. data/vendor/lexbor/source/lexbor/html/interfaces/font_element.c +36 -0
  276. data/vendor/lexbor/source/lexbor/html/interfaces/font_element.h +34 -0
  277. data/vendor/lexbor/source/lexbor/html/interfaces/form_element.c +36 -0
  278. data/vendor/lexbor/source/lexbor/html/interfaces/form_element.h +34 -0
  279. data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.c +36 -0
  280. data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.h +34 -0
  281. data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.c +36 -0
  282. data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.h +34 -0
  283. data/vendor/lexbor/source/lexbor/html/interfaces/head_element.c +36 -0
  284. data/vendor/lexbor/source/lexbor/html/interfaces/head_element.h +34 -0
  285. data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.c +36 -0
  286. data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.h +34 -0
  287. data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.c +36 -0
  288. data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.h +34 -0
  289. data/vendor/lexbor/source/lexbor/html/interfaces/html_element.c +36 -0
  290. data/vendor/lexbor/source/lexbor/html/interfaces/html_element.h +34 -0
  291. data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.c +36 -0
  292. data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.h +34 -0
  293. data/vendor/lexbor/source/lexbor/html/interfaces/image_element.c +36 -0
  294. data/vendor/lexbor/source/lexbor/html/interfaces/image_element.h +34 -0
  295. data/vendor/lexbor/source/lexbor/html/interfaces/input_element.c +36 -0
  296. data/vendor/lexbor/source/lexbor/html/interfaces/input_element.h +34 -0
  297. data/vendor/lexbor/source/lexbor/html/interfaces/label_element.c +36 -0
  298. data/vendor/lexbor/source/lexbor/html/interfaces/label_element.h +34 -0
  299. data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.c +36 -0
  300. data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.h +34 -0
  301. data/vendor/lexbor/source/lexbor/html/interfaces/li_element.c +36 -0
  302. data/vendor/lexbor/source/lexbor/html/interfaces/li_element.h +34 -0
  303. data/vendor/lexbor/source/lexbor/html/interfaces/link_element.c +36 -0
  304. data/vendor/lexbor/source/lexbor/html/interfaces/link_element.h +34 -0
  305. data/vendor/lexbor/source/lexbor/html/interfaces/map_element.c +36 -0
  306. data/vendor/lexbor/source/lexbor/html/interfaces/map_element.h +34 -0
  307. data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.c +36 -0
  308. data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.h +34 -0
  309. data/vendor/lexbor/source/lexbor/html/interfaces/media_element.c +36 -0
  310. data/vendor/lexbor/source/lexbor/html/interfaces/media_element.h +34 -0
  311. data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.c +36 -0
  312. data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.h +34 -0
  313. data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.c +36 -0
  314. data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.h +34 -0
  315. data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.c +36 -0
  316. data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.h +34 -0
  317. data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.c +36 -0
  318. data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.h +34 -0
  319. data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.c +36 -0
  320. data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.h +34 -0
  321. data/vendor/lexbor/source/lexbor/html/interfaces/object_element.c +36 -0
  322. data/vendor/lexbor/source/lexbor/html/interfaces/object_element.h +34 -0
  323. data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.c +36 -0
  324. data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.h +34 -0
  325. data/vendor/lexbor/source/lexbor/html/interfaces/option_element.c +36 -0
  326. data/vendor/lexbor/source/lexbor/html/interfaces/option_element.h +34 -0
  327. data/vendor/lexbor/source/lexbor/html/interfaces/output_element.c +36 -0
  328. data/vendor/lexbor/source/lexbor/html/interfaces/output_element.h +34 -0
  329. data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.c +36 -0
  330. data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.h +34 -0
  331. data/vendor/lexbor/source/lexbor/html/interfaces/param_element.c +36 -0
  332. data/vendor/lexbor/source/lexbor/html/interfaces/param_element.h +34 -0
  333. data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.c +36 -0
  334. data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.h +34 -0
  335. data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.c +36 -0
  336. data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.h +34 -0
  337. data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.c +36 -0
  338. data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.h +34 -0
  339. data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.c +36 -0
  340. data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.h +34 -0
  341. data/vendor/lexbor/source/lexbor/html/interfaces/script_element.c +36 -0
  342. data/vendor/lexbor/source/lexbor/html/interfaces/script_element.h +34 -0
  343. data/vendor/lexbor/source/lexbor/html/interfaces/select_element.c +36 -0
  344. data/vendor/lexbor/source/lexbor/html/interfaces/select_element.h +34 -0
  345. data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.c +36 -0
  346. data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.h +34 -0
  347. data/vendor/lexbor/source/lexbor/html/interfaces/source_element.c +36 -0
  348. data/vendor/lexbor/source/lexbor/html/interfaces/source_element.h +34 -0
  349. data/vendor/lexbor/source/lexbor/html/interfaces/span_element.c +36 -0
  350. data/vendor/lexbor/source/lexbor/html/interfaces/span_element.h +34 -0
  351. data/vendor/lexbor/source/lexbor/html/interfaces/style_element.c +36 -0
  352. data/vendor/lexbor/source/lexbor/html/interfaces/style_element.h +34 -0
  353. data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.c +36 -0
  354. data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.h +34 -0
  355. data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.c +36 -0
  356. data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.h +34 -0
  357. data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.c +36 -0
  358. data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.h +34 -0
  359. data/vendor/lexbor/source/lexbor/html/interfaces/table_element.c +36 -0
  360. data/vendor/lexbor/source/lexbor/html/interfaces/table_element.h +34 -0
  361. data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.c +36 -0
  362. data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.h +34 -0
  363. data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.c +36 -0
  364. data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.h +34 -0
  365. data/vendor/lexbor/source/lexbor/html/interfaces/template_element.c +46 -0
  366. data/vendor/lexbor/source/lexbor/html/interfaces/template_element.h +38 -0
  367. data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.c +36 -0
  368. data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.h +34 -0
  369. data/vendor/lexbor/source/lexbor/html/interfaces/time_element.c +36 -0
  370. data/vendor/lexbor/source/lexbor/html/interfaces/time_element.h +34 -0
  371. data/vendor/lexbor/source/lexbor/html/interfaces/title_element.c +133 -0
  372. data/vendor/lexbor/source/lexbor/html/interfaces/title_element.h +42 -0
  373. data/vendor/lexbor/source/lexbor/html/interfaces/track_element.c +36 -0
  374. data/vendor/lexbor/source/lexbor/html/interfaces/track_element.h +34 -0
  375. data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.c +36 -0
  376. data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.h +34 -0
  377. data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.c +36 -0
  378. data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.h +34 -0
  379. data/vendor/lexbor/source/lexbor/html/interfaces/video_element.c +36 -0
  380. data/vendor/lexbor/source/lexbor/html/interfaces/video_element.h +34 -0
  381. data/vendor/lexbor/source/lexbor/html/interfaces/window.c +36 -0
  382. data/vendor/lexbor/source/lexbor/html/interfaces/window.h +34 -0
  383. data/vendor/lexbor/source/lexbor/html/node.c +14 -0
  384. data/vendor/lexbor/source/lexbor/html/node.h +67 -0
  385. data/vendor/lexbor/source/lexbor/html/parser.c +469 -0
  386. data/vendor/lexbor/source/lexbor/html/parser.h +170 -0
  387. data/vendor/lexbor/source/lexbor/html/serialize.c +1510 -0
  388. data/vendor/lexbor/source/lexbor/html/serialize.h +93 -0
  389. data/vendor/lexbor/source/lexbor/html/tag.h +103 -0
  390. data/vendor/lexbor/source/lexbor/html/tag_res.h +2262 -0
  391. data/vendor/lexbor/source/lexbor/html/token.c +386 -0
  392. data/vendor/lexbor/source/lexbor/html/token.h +130 -0
  393. data/vendor/lexbor/source/lexbor/html/token_attr.c +44 -0
  394. data/vendor/lexbor/source/lexbor/html/token_attr.h +67 -0
  395. data/vendor/lexbor/source/lexbor/html/tokenizer/error.c +28 -0
  396. data/vendor/lexbor/source/lexbor/html/tokenizer/error.h +141 -0
  397. data/vendor/lexbor/source/lexbor/html/tokenizer/res.h +4956 -0
  398. data/vendor/lexbor/source/lexbor/html/tokenizer/state.c +2171 -0
  399. data/vendor/lexbor/source/lexbor/html/tokenizer/state.h +225 -0
  400. data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.c +489 -0
  401. data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.h +27 -0
  402. data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.c +1654 -0
  403. data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.h +27 -0
  404. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.c +303 -0
  405. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.h +32 -0
  406. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.c +311 -0
  407. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.h +32 -0
  408. data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.c +1209 -0
  409. data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.h +32 -0
  410. data/vendor/lexbor/source/lexbor/html/tokenizer.c +499 -0
  411. data/vendor/lexbor/source/lexbor/html/tokenizer.h +343 -0
  412. data/vendor/lexbor/source/lexbor/html/tree/active_formatting.c +241 -0
  413. data/vendor/lexbor/source/lexbor/html/tree/active_formatting.h +117 -0
  414. data/vendor/lexbor/source/lexbor/html/tree/error.c +26 -0
  415. data/vendor/lexbor/source/lexbor/html/tree/error.h +114 -0
  416. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_body.c +62 -0
  417. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_frameset.c +63 -0
  418. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_body.c +82 -0
  419. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_frameset.c +88 -0
  420. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_head.c +222 -0
  421. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_head.c +144 -0
  422. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_html.c +166 -0
  423. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/foreign_content.c +358 -0
  424. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_body.c +1974 -0
  425. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_caption.c +158 -0
  426. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_cell.c +187 -0
  427. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_column_group.c +194 -0
  428. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_frameset.c +149 -0
  429. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head.c +374 -0
  430. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head_noscript.c +121 -0
  431. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_row.c +211 -0
  432. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select.c +341 -0
  433. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select_in_table.c +115 -0
  434. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table.c +451 -0
  435. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_body.c +208 -0
  436. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_text.c +127 -0
  437. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_template.c +189 -0
  438. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/initial.c +411 -0
  439. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/text.c +61 -0
  440. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode.h +135 -0
  441. data/vendor/lexbor/source/lexbor/html/tree/open_elements.c +251 -0
  442. data/vendor/lexbor/source/lexbor/html/tree/open_elements.h +105 -0
  443. data/vendor/lexbor/source/lexbor/html/tree/template_insertion.c +10 -0
  444. data/vendor/lexbor/source/lexbor/html/tree/template_insertion.h +100 -0
  445. data/vendor/lexbor/source/lexbor/html/tree.c +1726 -0
  446. data/vendor/lexbor/source/lexbor/html/tree.h +431 -0
  447. data/vendor/lexbor/source/lexbor/html/tree_res.h +111 -0
  448. data/vendor/lexbor/source/lexbor/ns/base.h +32 -0
  449. data/vendor/lexbor/source/lexbor/ns/config.cmake +2 -0
  450. data/vendor/lexbor/source/lexbor/ns/const.h +37 -0
  451. data/vendor/lexbor/source/lexbor/ns/ns.c +154 -0
  452. data/vendor/lexbor/source/lexbor/ns/ns.h +66 -0
  453. data/vendor/lexbor/source/lexbor/ns/res.h +97 -0
  454. data/vendor/lexbor/source/lexbor/ports/posix/config.cmake +11 -0
  455. data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/fs.c +236 -0
  456. data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/memory.c +33 -0
  457. data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/perf.c +158 -0
  458. data/vendor/lexbor/source/lexbor/ports/windows_nt/config.cmake +18 -0
  459. data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/fs.c +239 -0
  460. data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/memory.c +33 -0
  461. data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/perf.c +81 -0
  462. data/vendor/lexbor/source/lexbor/selectors/base.h +30 -0
  463. data/vendor/lexbor/source/lexbor/selectors/config.cmake +2 -0
  464. data/vendor/lexbor/source/lexbor/selectors/selectors.c +1591 -0
  465. data/vendor/lexbor/source/lexbor/selectors/selectors.h +71 -0
  466. data/vendor/lexbor/source/lexbor/tag/base.h +32 -0
  467. data/vendor/lexbor/source/lexbor/tag/config.cmake +2 -0
  468. data/vendor/lexbor/source/lexbor/tag/const.h +225 -0
  469. data/vendor/lexbor/source/lexbor/tag/res.h +562 -0
  470. data/vendor/lexbor/source/lexbor/tag/tag.c +144 -0
  471. data/vendor/lexbor/source/lexbor/tag/tag.h +123 -0
  472. data/vendor/lexbor/source/lexbor/utils/base.h +32 -0
  473. data/vendor/lexbor/source/lexbor/utils/config.cmake +2 -0
  474. data/vendor/lexbor/source/lexbor/utils/http.c +534 -0
  475. data/vendor/lexbor/source/lexbor/utils/http.h +90 -0
  476. data/vendor/lexbor/source/lexbor/utils/utils.h +15 -0
  477. data/vendor/lexbor/source/lexbor/utils/warc.c +817 -0
  478. data/vendor/lexbor/source/lexbor/utils/warc.h +126 -0
  479. data/vendor/lexbor/utils/lexbor/css/selectors/pseudo.py +231 -0
  480. data/vendor/lexbor/utils/lexbor/css/selectors/tmp/const.h +21 -0
  481. data/vendor/lexbor/utils/lexbor/css/selectors/tmp/res.h +26 -0
  482. data/vendor/lexbor/utils/lexbor/css/syntax/definitions.py +49 -0
  483. data/vendor/lexbor/utils/lexbor/css/syntax/token_res.py +54 -0
  484. data/vendor/lexbor/utils/lexbor/css/syntax/tokenizer_code_map.py +36 -0
  485. data/vendor/lexbor/version +1 -0
  486. metadata +542 -0
@@ -0,0 +1,1085 @@
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
+ #include <stdlib.h>
18
+ #include <string.h>
19
+
20
+ #include "libxml/globals.h"
21
+ #include "libxml/xmlmemory.h"
22
+ #include "libxml/threads.h"
23
+
24
+ #include "private/error.h"
25
+ #include "private/globals.h"
26
+ #include "private/threads.h"
27
+ #include "private/tree.h"
28
+
29
+ /* #define DEBUG_GLOBALS */
30
+
31
+ /*
32
+ * Helpful Macro
33
+ */
34
+ #ifdef LIBXML_THREAD_ENABLED
35
+ #define IS_MAIN_THREAD (xmlIsMainThread())
36
+ #else
37
+ #define IS_MAIN_THREAD 1
38
+ #endif
39
+
40
+ /*
41
+ * Mutex to protect "ForNewThreads" variables
42
+ */
43
+ static xmlMutex xmlThrDefMutex;
44
+
45
+ /**
46
+ * xmlInitGlobals:
47
+ *
48
+ * DEPRECATED: Alias for xmlInitParser.
49
+ */
50
+ void xmlInitGlobals(void) {
51
+ xmlInitParser();
52
+ }
53
+
54
+ /**
55
+ * xmlInitGlobalsInternal:
56
+ *
57
+ * Additional initialisation for multi-threading
58
+ */
59
+ void xmlInitGlobalsInternal(void) {
60
+ xmlInitMutex(&xmlThrDefMutex);
61
+ }
62
+
63
+ /************************************************************************
64
+ * *
65
+ * All the user accessible global variables of the library *
66
+ * *
67
+ ************************************************************************/
68
+
69
+ /*
70
+ * Memory allocation routines
71
+ */
72
+ #undef xmlFree
73
+ #undef xmlMalloc
74
+ #undef xmlMallocAtomic
75
+ #undef xmlMemStrdup
76
+ #undef xmlRealloc
77
+
78
+ #if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY)
79
+ xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree;
80
+ xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
81
+ xmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc;
82
+ xmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
83
+ xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
84
+ #else
85
+ /**
86
+ * xmlFree:
87
+ * @mem: an already allocated block of memory
88
+ *
89
+ * The variable holding the libxml free() implementation
90
+ */
91
+ xmlFreeFunc xmlFree = free;
92
+ /**
93
+ * xmlMalloc:
94
+ * @size: the size requested in bytes
95
+ *
96
+ * The variable holding the libxml malloc() implementation
97
+ *
98
+ * Returns a pointer to the newly allocated block or NULL in case of error
99
+ */
100
+ xmlMallocFunc xmlMalloc = malloc;
101
+ /**
102
+ * xmlMallocAtomic:
103
+ * @size: the size requested in bytes
104
+ *
105
+ * The variable holding the libxml malloc() implementation for atomic
106
+ * data (i.e. blocks not containing pointers), useful when using a
107
+ * garbage collecting allocator.
108
+ *
109
+ * Returns a pointer to the newly allocated block or NULL in case of error
110
+ */
111
+ xmlMallocFunc xmlMallocAtomic = malloc;
112
+ /**
113
+ * xmlRealloc:
114
+ * @mem: an already allocated block of memory
115
+ * @size: the new size requested in bytes
116
+ *
117
+ * The variable holding the libxml realloc() implementation
118
+ *
119
+ * Returns a pointer to the newly reallocated block or NULL in case of error
120
+ */
121
+ xmlReallocFunc xmlRealloc = realloc;
122
+ /**
123
+ * xmlPosixStrdup
124
+ * @cur: the input char *
125
+ *
126
+ * a strdup implementation with a type signature matching POSIX
127
+ *
128
+ * Returns a new xmlChar * or NULL
129
+ */
130
+ static char *
131
+ xmlPosixStrdup(const char *cur) {
132
+ return((char*) xmlCharStrdup(cur));
133
+ }
134
+ /**
135
+ * xmlMemStrdup:
136
+ * @str: a zero terminated string
137
+ *
138
+ * The variable holding the libxml strdup() implementation
139
+ *
140
+ * Returns the copy of the string or NULL in case of error
141
+ */
142
+ xmlStrdupFunc xmlMemStrdup = xmlPosixStrdup;
143
+ #endif /* DEBUG_MEMORY_LOCATION || DEBUG_MEMORY */
144
+
145
+ #include "libxml/threads.h"
146
+ #include "libxml/globals.h"
147
+ // #include "libxml/SAX.h"
148
+
149
+ #undef htmlDefaultSAXHandler
150
+ #undef oldXMLWDcompatibility
151
+ #undef xmlBufferAllocScheme
152
+ #undef xmlDefaultBufferSize
153
+ #undef xmlDefaultSAXHandler
154
+ #undef xmlDefaultSAXLocator
155
+ #undef xmlDoValidityCheckingDefaultValue
156
+ #undef xmlGenericError
157
+ #undef xmlStructuredError
158
+ #undef xmlGenericErrorContext
159
+ #undef xmlStructuredErrorContext
160
+ #undef xmlGetWarningsDefaultValue
161
+ #undef xmlIndentTreeOutput
162
+ #undef xmlTreeIndentString
163
+ #undef xmlKeepBlanksDefaultValue
164
+ #undef xmlLineNumbersDefaultValue
165
+ #undef xmlLoadExtDtdDefaultValue
166
+ #undef xmlParserDebugEntities
167
+ #undef xmlParserVersion
168
+ #undef xmlPedanticParserDefaultValue
169
+ #undef xmlSaveNoEmptyTags
170
+ #undef xmlSubstituteEntitiesDefaultValue
171
+ #undef xmlRegisterNodeDefaultValue
172
+ #undef xmlDeregisterNodeDefaultValue
173
+ #undef xmlLastError
174
+
175
+ #undef xmlParserInputBufferCreateFilenameValue
176
+ #undef xmlOutputBufferCreateFilenameValue
177
+ /**
178
+ * xmlParserVersion:
179
+ *
180
+ * Constant string describing the internal version of the library
181
+ */
182
+ const char *xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA;
183
+
184
+ /**
185
+ * xmlBufferAllocScheme:
186
+ *
187
+ * DEPRECATED: Don't use.
188
+ *
189
+ * Global setting, default allocation policy for buffers, default is
190
+ * XML_BUFFER_ALLOC_EXACT
191
+ */
192
+ xmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT;
193
+ static xmlBufferAllocationScheme xmlBufferAllocSchemeThrDef = XML_BUFFER_ALLOC_EXACT;
194
+ /**
195
+ * xmlDefaultBufferSize:
196
+ *
197
+ * DEPRECATED: Don't use.
198
+ *
199
+ * Global setting, default buffer size. Default value is BASE_BUFFER_SIZE
200
+ */
201
+ int xmlDefaultBufferSize = BASE_BUFFER_SIZE;
202
+ static int xmlDefaultBufferSizeThrDef = BASE_BUFFER_SIZE;
203
+
204
+ /*
205
+ * Parser defaults
206
+ */
207
+
208
+ /**
209
+ * oldXMLWDcompatibility:
210
+ *
211
+ * Global setting, DEPRECATED.
212
+ */
213
+ int oldXMLWDcompatibility = 0; /* DEPRECATED */
214
+ /**
215
+ * xmlParserDebugEntities:
216
+ *
217
+ * DEPRECATED: Don't use
218
+ *
219
+ * Global setting, asking the parser to print out debugging information.
220
+ * while handling entities.
221
+ * Disabled by default
222
+ */
223
+ int xmlParserDebugEntities = 0;
224
+ static int xmlParserDebugEntitiesThrDef = 0;
225
+ /**
226
+ * xmlDoValidityCheckingDefaultValue:
227
+ *
228
+ * DEPRECATED: Use the modern options API with XML_PARSE_DTDVALID.
229
+ *
230
+ * Global setting, indicate that the parser should work in validating mode.
231
+ * Disabled by default.
232
+ */
233
+ int xmlDoValidityCheckingDefaultValue = 0;
234
+ static int xmlDoValidityCheckingDefaultValueThrDef = 0;
235
+ /**
236
+ * xmlGetWarningsDefaultValue:
237
+ *
238
+ * DEPRECATED: Don't use
239
+ *
240
+ * Global setting, indicate that the DTD validation should provide warnings.
241
+ * Activated by default.
242
+ */
243
+ int xmlGetWarningsDefaultValue = 1;
244
+ static int xmlGetWarningsDefaultValueThrDef = 1;
245
+ /**
246
+ * xmlLoadExtDtdDefaultValue:
247
+ *
248
+ * DEPRECATED: Use the modern options API with XML_PARSE_DTDLOAD.
249
+ *
250
+ * Global setting, indicate that the parser should load DTD while not
251
+ * validating.
252
+ * Disabled by default.
253
+ */
254
+ int xmlLoadExtDtdDefaultValue = 0;
255
+ static int xmlLoadExtDtdDefaultValueThrDef = 0;
256
+ /**
257
+ * xmlPedanticParserDefaultValue:
258
+ *
259
+ * DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC.
260
+ *
261
+ * Global setting, indicate that the parser be pedantic
262
+ * Disabled by default.
263
+ */
264
+ int xmlPedanticParserDefaultValue = 0;
265
+ static int xmlPedanticParserDefaultValueThrDef = 0;
266
+ /**
267
+ * xmlLineNumbersDefaultValue:
268
+ *
269
+ * DEPRECATED: The modern options API always enables line numbers.
270
+ *
271
+ * Global setting, indicate that the parser should store the line number
272
+ * in the content field of elements in the DOM tree.
273
+ * Disabled by default since this may not be safe for old classes of
274
+ * application.
275
+ */
276
+ int xmlLineNumbersDefaultValue = 0;
277
+ static int xmlLineNumbersDefaultValueThrDef = 0;
278
+ /**
279
+ * xmlKeepBlanksDefaultValue:
280
+ *
281
+ * DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS.
282
+ *
283
+ * Global setting, indicate that the parser should keep all blanks
284
+ * nodes found in the content
285
+ * Activated by default, this is actually needed to have the parser
286
+ * conformant to the XML Recommendation, however the option is kept
287
+ * for some applications since this was libxml1 default behaviour.
288
+ */
289
+ int xmlKeepBlanksDefaultValue = 1;
290
+ static int xmlKeepBlanksDefaultValueThrDef = 1;
291
+ /**
292
+ * xmlSubstituteEntitiesDefaultValue:
293
+ *
294
+ * DEPRECATED: Use the modern options API with XML_PARSE_NOENT.
295
+ *
296
+ * Global setting, indicate that the parser should not generate entity
297
+ * references but replace them with the actual content of the entity
298
+ * Disabled by default, this should be activated when using XPath since
299
+ * the XPath data model requires entities replacement and the XPath
300
+ * engine does not handle entities references transparently.
301
+ */
302
+ int xmlSubstituteEntitiesDefaultValue = 0;
303
+ static int xmlSubstituteEntitiesDefaultValueThrDef = 0;
304
+
305
+ /**
306
+ * xmlRegisterNodeDefaultValue:
307
+ *
308
+ * DEPRECATED: Don't use
309
+ */
310
+ xmlRegisterNodeFunc xmlRegisterNodeDefaultValue = NULL;
311
+ static xmlRegisterNodeFunc xmlRegisterNodeDefaultValueThrDef = NULL;
312
+
313
+ /**
314
+ * xmlDeregisterNodeDefaultValue:
315
+ *
316
+ * DEPRECATED: Don't use
317
+ */
318
+ xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL;
319
+ static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL;
320
+
321
+ /**
322
+ * xmlParserInputBufferCreateFilenameValue:
323
+ *
324
+ * DEPRECATED: Don't use
325
+ */
326
+ xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL;
327
+ static xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL;
328
+
329
+ /**
330
+ * xmlOutputBufferCreateFilenameValue:
331
+ *
332
+ * DEPRECATED: Don't use
333
+ */
334
+ xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL;
335
+ static xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL;
336
+
337
+ /**
338
+ * xmlGenericError:
339
+ *
340
+ * Global setting: function used for generic error callbacks
341
+ */
342
+ xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc;
343
+ static xmlGenericErrorFunc xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
344
+ /**
345
+ * xmlStructuredError:
346
+ *
347
+ * Global setting: function used for structured error callbacks
348
+ */
349
+ xmlStructuredErrorFunc xmlStructuredError = NULL;
350
+ static xmlStructuredErrorFunc xmlStructuredErrorThrDef = NULL;
351
+ /**
352
+ * xmlGenericErrorContext:
353
+ *
354
+ * Global setting passed to generic error callbacks
355
+ */
356
+ void *xmlGenericErrorContext = NULL;
357
+ static void *xmlGenericErrorContextThrDef = NULL;
358
+ /**
359
+ * xmlStructuredErrorContext:
360
+ *
361
+ * Global setting passed to structured error callbacks
362
+ */
363
+ void *xmlStructuredErrorContext = NULL;
364
+ static void *xmlStructuredErrorContextThrDef = NULL;
365
+ xmlError xmlLastError;
366
+
367
+ /*
368
+ * output defaults
369
+ */
370
+ /**
371
+ * xmlIndentTreeOutput:
372
+ *
373
+ * Global setting, asking the serializer to indent the output tree by default
374
+ * Enabled by default
375
+ */
376
+ int xmlIndentTreeOutput = 1;
377
+ static int xmlIndentTreeOutputThrDef = 1;
378
+
379
+ /**
380
+ * xmlTreeIndentString:
381
+ *
382
+ * The string used to do one-level indent. By default is equal to " " (two spaces)
383
+ */
384
+ const char *xmlTreeIndentString = " ";
385
+ static const char *xmlTreeIndentStringThrDef = " ";
386
+
387
+ /**
388
+ * xmlSaveNoEmptyTags:
389
+ *
390
+ * Global setting, asking the serializer to not output empty tags
391
+ * as <empty/> but <empty></empty>. those two forms are indistinguishable
392
+ * once parsed.
393
+ * Disabled by default
394
+ */
395
+ int xmlSaveNoEmptyTags = 0;
396
+ static int xmlSaveNoEmptyTagsThrDef = 0;
397
+
398
+ #ifdef LIBXML_SAX1_ENABLED
399
+ /**
400
+ * xmlDefaultSAXHandler:
401
+ *
402
+ * DEPRECATED: This handler is unused and will be removed from future
403
+ * versions.
404
+ *
405
+ * Default SAX version1 handler for XML, builds the DOM tree
406
+ */
407
+ xmlSAXHandlerV1 xmlDefaultSAXHandler = {
408
+ xmlSAX2InternalSubset,
409
+ xmlSAX2IsStandalone,
410
+ xmlSAX2HasInternalSubset,
411
+ xmlSAX2HasExternalSubset,
412
+ xmlSAX2ResolveEntity,
413
+ xmlSAX2GetEntity,
414
+ xmlSAX2EntityDecl,
415
+ xmlSAX2NotationDecl,
416
+ xmlSAX2AttributeDecl,
417
+ xmlSAX2ElementDecl,
418
+ xmlSAX2UnparsedEntityDecl,
419
+ xmlSAX2SetDocumentLocator,
420
+ xmlSAX2StartDocument,
421
+ xmlSAX2EndDocument,
422
+ xmlSAX2StartElement,
423
+ xmlSAX2EndElement,
424
+ xmlSAX2Reference,
425
+ xmlSAX2Characters,
426
+ xmlSAX2Characters,
427
+ xmlSAX2ProcessingInstruction,
428
+ xmlSAX2Comment,
429
+ xmlParserWarning,
430
+ xmlParserError,
431
+ xmlParserError,
432
+ xmlSAX2GetParameterEntity,
433
+ xmlSAX2CDataBlock,
434
+ xmlSAX2ExternalSubset,
435
+ 1,
436
+ };
437
+ #endif /* LIBXML_SAX1_ENABLED */
438
+
439
+ /**
440
+ * xmlDefaultSAXLocator:
441
+ *
442
+ * DEPRECATED: Don't use
443
+ *
444
+ * The default SAX Locator
445
+ * { getPublicId, getSystemId, getLineNumber, getColumnNumber}
446
+ */
447
+ xmlSAXLocator xmlDefaultSAXLocator = {
448
+ xmlSAX2GetPublicId,
449
+ xmlSAX2GetSystemId,
450
+ xmlSAX2GetLineNumber,
451
+ xmlSAX2GetColumnNumber
452
+ };
453
+
454
+ #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_SAX1_ENABLED)
455
+ /**
456
+ * htmlDefaultSAXHandler:
457
+ *
458
+ * DEPRECATED: This handler is unused and will be removed from future
459
+ * versions.
460
+ *
461
+ * Default old SAX v1 handler for HTML, builds the DOM tree
462
+ */
463
+ xmlSAXHandlerV1 htmlDefaultSAXHandler = {
464
+ xmlSAX2InternalSubset,
465
+ NULL,
466
+ NULL,
467
+ NULL,
468
+ NULL,
469
+ xmlSAX2GetEntity,
470
+ NULL,
471
+ NULL,
472
+ NULL,
473
+ NULL,
474
+ NULL,
475
+ xmlSAX2SetDocumentLocator,
476
+ xmlSAX2StartDocument,
477
+ xmlSAX2EndDocument,
478
+ xmlSAX2StartElement,
479
+ xmlSAX2EndElement,
480
+ NULL,
481
+ xmlSAX2Characters,
482
+ xmlSAX2IgnorableWhitespace,
483
+ xmlSAX2ProcessingInstruction,
484
+ xmlSAX2Comment,
485
+ xmlParserWarning,
486
+ xmlParserError,
487
+ xmlParserError,
488
+ NULL,
489
+ xmlSAX2CDataBlock,
490
+ NULL,
491
+ 1,
492
+ };
493
+ #endif /* LIBXML_HTML_ENABLED */
494
+
495
+ /**
496
+ * xmlInitializeGlobalState:
497
+ * @gs: a pointer to a newly allocated global state
498
+ *
499
+ * xmlInitializeGlobalState() initialize a global state with all the
500
+ * default values of the library.
501
+ */
502
+ void
503
+ xmlInitializeGlobalState(xmlGlobalStatePtr gs)
504
+ {
505
+ #ifdef DEBUG_GLOBALS
506
+ fprintf(stderr, "Initializing globals at %p for thread %d\n",
507
+ (void *) gs, xmlGetThreadId());
508
+ #endif
509
+
510
+ xmlMutexLock(&xmlThrDefMutex);
511
+
512
+ #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
513
+ inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
514
+ #endif
515
+
516
+ gs->oldXMLWDcompatibility = 0;
517
+ gs->xmlBufferAllocScheme = xmlBufferAllocSchemeThrDef;
518
+ gs->xmlDefaultBufferSize = xmlDefaultBufferSizeThrDef;
519
+ #if defined(LIBXML_SAX1_ENABLED) && defined(LIBXML_LEGACY_ENABLED)
520
+ initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1);
521
+ #endif /* LIBXML_SAX1_ENABLED */
522
+ gs->xmlDefaultSAXLocator.getPublicId = xmlSAX2GetPublicId;
523
+ gs->xmlDefaultSAXLocator.getSystemId = xmlSAX2GetSystemId;
524
+ gs->xmlDefaultSAXLocator.getLineNumber = xmlSAX2GetLineNumber;
525
+ gs->xmlDefaultSAXLocator.getColumnNumber = xmlSAX2GetColumnNumber;
526
+ gs->xmlDoValidityCheckingDefaultValue =
527
+ xmlDoValidityCheckingDefaultValueThrDef;
528
+ #if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY)
529
+ gs->xmlFree = (xmlFreeFunc) xmlMemFree;
530
+ gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
531
+ gs->xmlMallocAtomic = (xmlMallocFunc) xmlMemMalloc;
532
+ gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
533
+ gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
534
+ #else
535
+ gs->xmlFree = (xmlFreeFunc) free;
536
+ gs->xmlMalloc = (xmlMallocFunc) malloc;
537
+ gs->xmlMallocAtomic = (xmlMallocFunc) malloc;
538
+ gs->xmlRealloc = (xmlReallocFunc) realloc;
539
+ gs->xmlMemStrdup = (xmlStrdupFunc) xmlStrdup;
540
+ #endif
541
+ gs->xmlGetWarningsDefaultValue = xmlGetWarningsDefaultValueThrDef;
542
+ gs->xmlIndentTreeOutput = xmlIndentTreeOutputThrDef;
543
+ gs->xmlTreeIndentString = xmlTreeIndentStringThrDef;
544
+ gs->xmlKeepBlanksDefaultValue = xmlKeepBlanksDefaultValueThrDef;
545
+ gs->xmlLineNumbersDefaultValue = xmlLineNumbersDefaultValueThrDef;
546
+ gs->xmlLoadExtDtdDefaultValue = xmlLoadExtDtdDefaultValueThrDef;
547
+ gs->xmlParserDebugEntities = xmlParserDebugEntitiesThrDef;
548
+ gs->xmlParserVersion = LIBXML_VERSION_STRING;
549
+ gs->xmlPedanticParserDefaultValue = xmlPedanticParserDefaultValueThrDef;
550
+ gs->xmlSaveNoEmptyTags = xmlSaveNoEmptyTagsThrDef;
551
+ gs->xmlSubstituteEntitiesDefaultValue =
552
+ xmlSubstituteEntitiesDefaultValueThrDef;
553
+
554
+ gs->xmlGenericError = xmlGenericErrorThrDef;
555
+ gs->xmlStructuredError = xmlStructuredErrorThrDef;
556
+ gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef;
557
+ gs->xmlStructuredErrorContext = xmlStructuredErrorContextThrDef;
558
+ gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef;
559
+ gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef;
560
+
561
+ gs->xmlParserInputBufferCreateFilenameValue = xmlParserInputBufferCreateFilenameValueThrDef;
562
+ gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef;
563
+ memset(&gs->xmlLastError, 0, sizeof(xmlError));
564
+
565
+ xmlMutexUnlock(&xmlThrDefMutex);
566
+ }
567
+
568
+ /**
569
+ * xmlCleanupGlobals:
570
+ *
571
+ * DEPRECATED: This function is a no-op. Call xmlCleanupParser
572
+ * to free global state but see the warnings there. xmlCleanupParser
573
+ * should be only called once at program exit. In most cases, you don't
574
+ * have call cleanup functions at all.
575
+ */
576
+ void xmlCleanupGlobals(void) {
577
+ }
578
+
579
+ /**
580
+ * xmlCleanupGlobalsInternal:
581
+ *
582
+ * Additional cleanup for multi-threading
583
+ */
584
+ void xmlCleanupGlobalsInternal(void) {
585
+ xmlResetError(&xmlLastError);
586
+
587
+ xmlCleanupMutex(&xmlThrDefMutex);
588
+ __xmlGlobalInitMutexDestroy();
589
+ }
590
+
591
+ void
592
+ xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
593
+ xmlMutexLock(&xmlThrDefMutex);
594
+ xmlGenericErrorContextThrDef = ctx;
595
+ if (handler != NULL)
596
+ xmlGenericErrorThrDef = handler;
597
+ else
598
+ xmlGenericErrorThrDef = xmlGenericErrorDefaultFunc;
599
+ xmlMutexUnlock(&xmlThrDefMutex);
600
+ }
601
+
602
+ void
603
+ xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
604
+ xmlMutexLock(&xmlThrDefMutex);
605
+ xmlStructuredErrorContextThrDef = ctx;
606
+ xmlStructuredErrorThrDef = handler;
607
+ xmlMutexUnlock(&xmlThrDefMutex);
608
+ }
609
+
610
+ /**
611
+ * xmlRegisterNodeDefault:
612
+ * @func: function pointer to the new RegisterNodeFunc
613
+ *
614
+ * Registers a callback for node creation
615
+ *
616
+ * Returns the old value of the registration function
617
+ */
618
+ xmlRegisterNodeFunc
619
+ xmlRegisterNodeDefault(xmlRegisterNodeFunc func)
620
+ {
621
+ xmlRegisterNodeFunc old = xmlRegisterNodeDefaultValue;
622
+
623
+ __xmlRegisterCallbacks = 1;
624
+ xmlRegisterNodeDefaultValue = func;
625
+ return(old);
626
+ }
627
+
628
+ xmlRegisterNodeFunc
629
+ xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func)
630
+ {
631
+ xmlRegisterNodeFunc old;
632
+
633
+ xmlMutexLock(&xmlThrDefMutex);
634
+ old = xmlRegisterNodeDefaultValueThrDef;
635
+
636
+ __xmlRegisterCallbacks = 1;
637
+ xmlRegisterNodeDefaultValueThrDef = func;
638
+ xmlMutexUnlock(&xmlThrDefMutex);
639
+
640
+ return(old);
641
+ }
642
+
643
+ /**
644
+ * xmlDeregisterNodeDefault:
645
+ * @func: function pointer to the new DeregisterNodeFunc
646
+ *
647
+ * Registers a callback for node destruction
648
+ *
649
+ * Returns the previous value of the deregistration function
650
+ */
651
+ xmlDeregisterNodeFunc
652
+ xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func)
653
+ {
654
+ xmlDeregisterNodeFunc old = xmlDeregisterNodeDefaultValue;
655
+
656
+ __xmlRegisterCallbacks = 1;
657
+ xmlDeregisterNodeDefaultValue = func;
658
+ return(old);
659
+ }
660
+
661
+ xmlDeregisterNodeFunc
662
+ xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func)
663
+ {
664
+ xmlDeregisterNodeFunc old;
665
+
666
+ xmlMutexLock(&xmlThrDefMutex);
667
+ old = xmlDeregisterNodeDefaultValueThrDef;
668
+
669
+ __xmlRegisterCallbacks = 1;
670
+ xmlDeregisterNodeDefaultValueThrDef = func;
671
+ xmlMutexUnlock(&xmlThrDefMutex);
672
+
673
+ return(old);
674
+ }
675
+
676
+ #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_SAX1_ENABLED)
677
+ #undef htmlDefaultSAXHandler
678
+ xmlSAXHandlerV1 *
679
+ __htmlDefaultSAXHandler(void) {
680
+ if (IS_MAIN_THREAD)
681
+ return (&htmlDefaultSAXHandler);
682
+ else
683
+ return (&xmlGetGlobalState()->htmlDefaultSAXHandler);
684
+ }
685
+ #endif
686
+
687
+ #undef xmlLastError
688
+ xmlError *
689
+ __xmlLastError(void) {
690
+ if (IS_MAIN_THREAD)
691
+ return (&xmlLastError);
692
+ else
693
+ return (&xmlGetGlobalState()->xmlLastError);
694
+ }
695
+
696
+ /*
697
+ * The following memory routines were apparently lost at some point,
698
+ * and were re-inserted at this point on June 10, 2004. Hope it's
699
+ * the right place for them :-)
700
+ */
701
+ #if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED)
702
+ #undef xmlMalloc
703
+ xmlMallocFunc *
704
+ __xmlMalloc(void){
705
+ if (IS_MAIN_THREAD)
706
+ return (&xmlMalloc);
707
+ else
708
+ return (&xmlGetGlobalState()->xmlMalloc);
709
+ }
710
+
711
+ #undef xmlMallocAtomic
712
+ xmlMallocFunc *
713
+ __xmlMallocAtomic(void){
714
+ if (IS_MAIN_THREAD)
715
+ return (&xmlMallocAtomic);
716
+ else
717
+ return (&xmlGetGlobalState()->xmlMallocAtomic);
718
+ }
719
+
720
+ #undef xmlRealloc
721
+ xmlReallocFunc *
722
+ __xmlRealloc(void){
723
+ if (IS_MAIN_THREAD)
724
+ return (&xmlRealloc);
725
+ else
726
+ return (&xmlGetGlobalState()->xmlRealloc);
727
+ }
728
+
729
+ #undef xmlFree
730
+ xmlFreeFunc *
731
+ __xmlFree(void){
732
+ if (IS_MAIN_THREAD)
733
+ return (&xmlFree);
734
+ else
735
+ return (&xmlGetGlobalState()->xmlFree);
736
+ }
737
+
738
+ xmlStrdupFunc *
739
+ __xmlMemStrdup(void){
740
+ if (IS_MAIN_THREAD)
741
+ return (&xmlMemStrdup);
742
+ else
743
+ return (&xmlGetGlobalState()->xmlMemStrdup);
744
+ }
745
+
746
+ #endif
747
+
748
+ /*
749
+ * Everything starting from the line below is
750
+ * Automatically generated by build_glob.py.
751
+ * Do not modify the previous line.
752
+ */
753
+
754
+
755
+ #undef oldXMLWDcompatibility
756
+ int *
757
+ __oldXMLWDcompatibility(void) {
758
+ if (IS_MAIN_THREAD)
759
+ return (&oldXMLWDcompatibility);
760
+ else
761
+ return (&xmlGetGlobalState()->oldXMLWDcompatibility);
762
+ }
763
+
764
+ #undef xmlBufferAllocScheme
765
+ xmlBufferAllocationScheme *
766
+ __xmlBufferAllocScheme(void) {
767
+ if (IS_MAIN_THREAD)
768
+ return (&xmlBufferAllocScheme);
769
+ else
770
+ return (&xmlGetGlobalState()->xmlBufferAllocScheme);
771
+ }
772
+ xmlBufferAllocationScheme xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v) {
773
+ xmlBufferAllocationScheme ret;
774
+ xmlMutexLock(&xmlThrDefMutex);
775
+ ret = xmlBufferAllocSchemeThrDef;
776
+ xmlBufferAllocSchemeThrDef = v;
777
+ xmlMutexUnlock(&xmlThrDefMutex);
778
+ return ret;
779
+ }
780
+
781
+ #undef xmlDefaultBufferSize
782
+ int *
783
+ __xmlDefaultBufferSize(void) {
784
+ if (IS_MAIN_THREAD)
785
+ return (&xmlDefaultBufferSize);
786
+ else
787
+ return (&xmlGetGlobalState()->xmlDefaultBufferSize);
788
+ }
789
+ int xmlThrDefDefaultBufferSize(int v) {
790
+ int ret;
791
+ xmlMutexLock(&xmlThrDefMutex);
792
+ ret = xmlDefaultBufferSizeThrDef;
793
+ xmlDefaultBufferSizeThrDef = v;
794
+ xmlMutexUnlock(&xmlThrDefMutex);
795
+ return ret;
796
+ }
797
+
798
+ #ifdef LIBXML_SAX1_ENABLED
799
+ #undef xmlDefaultSAXHandler
800
+ xmlSAXHandlerV1 *
801
+ __xmlDefaultSAXHandler(void) {
802
+ if (IS_MAIN_THREAD)
803
+ return (&xmlDefaultSAXHandler);
804
+ else
805
+ return (&xmlGetGlobalState()->xmlDefaultSAXHandler);
806
+ }
807
+ #endif /* LIBXML_SAX1_ENABLED */
808
+
809
+ #undef xmlDefaultSAXLocator
810
+ xmlSAXLocator *
811
+ __xmlDefaultSAXLocator(void) {
812
+ if (IS_MAIN_THREAD)
813
+ return (&xmlDefaultSAXLocator);
814
+ else
815
+ return (&xmlGetGlobalState()->xmlDefaultSAXLocator);
816
+ }
817
+
818
+ #undef xmlDoValidityCheckingDefaultValue
819
+ int *
820
+ __xmlDoValidityCheckingDefaultValue(void) {
821
+ if (IS_MAIN_THREAD)
822
+ return (&xmlDoValidityCheckingDefaultValue);
823
+ else
824
+ return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultValue);
825
+ }
826
+ int xmlThrDefDoValidityCheckingDefaultValue(int v) {
827
+ int ret;
828
+ xmlMutexLock(&xmlThrDefMutex);
829
+ ret = xmlDoValidityCheckingDefaultValueThrDef;
830
+ xmlDoValidityCheckingDefaultValueThrDef = v;
831
+ xmlMutexUnlock(&xmlThrDefMutex);
832
+ return ret;
833
+ }
834
+
835
+ #undef xmlGenericError
836
+ xmlGenericErrorFunc *
837
+ __xmlGenericError(void) {
838
+ if (IS_MAIN_THREAD)
839
+ return (&xmlGenericError);
840
+ else
841
+ return (&xmlGetGlobalState()->xmlGenericError);
842
+ }
843
+
844
+ #undef xmlStructuredError
845
+ xmlStructuredErrorFunc *
846
+ __xmlStructuredError(void) {
847
+ if (IS_MAIN_THREAD)
848
+ return (&xmlStructuredError);
849
+ else
850
+ return (&xmlGetGlobalState()->xmlStructuredError);
851
+ }
852
+
853
+ #undef xmlGenericErrorContext
854
+ void * *
855
+ __xmlGenericErrorContext(void) {
856
+ if (IS_MAIN_THREAD)
857
+ return (&xmlGenericErrorContext);
858
+ else
859
+ return (&xmlGetGlobalState()->xmlGenericErrorContext);
860
+ }
861
+
862
+ #undef xmlStructuredErrorContext
863
+ void * *
864
+ __xmlStructuredErrorContext(void) {
865
+ if (IS_MAIN_THREAD)
866
+ return (&xmlStructuredErrorContext);
867
+ else
868
+ return (&xmlGetGlobalState()->xmlStructuredErrorContext);
869
+ }
870
+
871
+ #undef xmlGetWarningsDefaultValue
872
+ int *
873
+ __xmlGetWarningsDefaultValue(void) {
874
+ if (IS_MAIN_THREAD)
875
+ return (&xmlGetWarningsDefaultValue);
876
+ else
877
+ return (&xmlGetGlobalState()->xmlGetWarningsDefaultValue);
878
+ }
879
+ int xmlThrDefGetWarningsDefaultValue(int v) {
880
+ int ret;
881
+ xmlMutexLock(&xmlThrDefMutex);
882
+ ret = xmlGetWarningsDefaultValueThrDef;
883
+ xmlGetWarningsDefaultValueThrDef = v;
884
+ xmlMutexUnlock(&xmlThrDefMutex);
885
+ return ret;
886
+ }
887
+
888
+ #undef xmlIndentTreeOutput
889
+ int *
890
+ __xmlIndentTreeOutput(void) {
891
+ if (IS_MAIN_THREAD)
892
+ return (&xmlIndentTreeOutput);
893
+ else
894
+ return (&xmlGetGlobalState()->xmlIndentTreeOutput);
895
+ }
896
+ int xmlThrDefIndentTreeOutput(int v) {
897
+ int ret;
898
+ xmlMutexLock(&xmlThrDefMutex);
899
+ ret = xmlIndentTreeOutputThrDef;
900
+ xmlIndentTreeOutputThrDef = v;
901
+ xmlMutexUnlock(&xmlThrDefMutex);
902
+ return ret;
903
+ }
904
+
905
+ #undef xmlTreeIndentString
906
+ const char * *
907
+ __xmlTreeIndentString(void) {
908
+ if (IS_MAIN_THREAD)
909
+ return (&xmlTreeIndentString);
910
+ else
911
+ return (&xmlGetGlobalState()->xmlTreeIndentString);
912
+ }
913
+ const char * xmlThrDefTreeIndentString(const char * v) {
914
+ const char * ret;
915
+ xmlMutexLock(&xmlThrDefMutex);
916
+ ret = xmlTreeIndentStringThrDef;
917
+ xmlTreeIndentStringThrDef = v;
918
+ xmlMutexUnlock(&xmlThrDefMutex);
919
+ return ret;
920
+ }
921
+
922
+ #undef xmlKeepBlanksDefaultValue
923
+ int *
924
+ __xmlKeepBlanksDefaultValue(void) {
925
+ if (IS_MAIN_THREAD)
926
+ return (&xmlKeepBlanksDefaultValue);
927
+ else
928
+ return (&xmlGetGlobalState()->xmlKeepBlanksDefaultValue);
929
+ }
930
+ int xmlThrDefKeepBlanksDefaultValue(int v) {
931
+ int ret;
932
+ xmlMutexLock(&xmlThrDefMutex);
933
+ ret = xmlKeepBlanksDefaultValueThrDef;
934
+ xmlKeepBlanksDefaultValueThrDef = v;
935
+ xmlMutexUnlock(&xmlThrDefMutex);
936
+ return ret;
937
+ }
938
+
939
+ #undef xmlLineNumbersDefaultValue
940
+ int *
941
+ __xmlLineNumbersDefaultValue(void) {
942
+ if (IS_MAIN_THREAD)
943
+ return (&xmlLineNumbersDefaultValue);
944
+ else
945
+ return (&xmlGetGlobalState()->xmlLineNumbersDefaultValue);
946
+ }
947
+ int xmlThrDefLineNumbersDefaultValue(int v) {
948
+ int ret;
949
+ xmlMutexLock(&xmlThrDefMutex);
950
+ ret = xmlLineNumbersDefaultValueThrDef;
951
+ xmlLineNumbersDefaultValueThrDef = v;
952
+ xmlMutexUnlock(&xmlThrDefMutex);
953
+ return ret;
954
+ }
955
+
956
+ #undef xmlLoadExtDtdDefaultValue
957
+ int *
958
+ __xmlLoadExtDtdDefaultValue(void) {
959
+ if (IS_MAIN_THREAD)
960
+ return (&xmlLoadExtDtdDefaultValue);
961
+ else
962
+ return (&xmlGetGlobalState()->xmlLoadExtDtdDefaultValue);
963
+ }
964
+ int xmlThrDefLoadExtDtdDefaultValue(int v) {
965
+ int ret;
966
+ xmlMutexLock(&xmlThrDefMutex);
967
+ ret = xmlLoadExtDtdDefaultValueThrDef;
968
+ xmlLoadExtDtdDefaultValueThrDef = v;
969
+ xmlMutexUnlock(&xmlThrDefMutex);
970
+ return ret;
971
+ }
972
+
973
+ #undef xmlParserDebugEntities
974
+ int *
975
+ __xmlParserDebugEntities(void) {
976
+ if (IS_MAIN_THREAD)
977
+ return (&xmlParserDebugEntities);
978
+ else
979
+ return (&xmlGetGlobalState()->xmlParserDebugEntities);
980
+ }
981
+ int xmlThrDefParserDebugEntities(int v) {
982
+ int ret;
983
+ xmlMutexLock(&xmlThrDefMutex);
984
+ ret = xmlParserDebugEntitiesThrDef;
985
+ xmlParserDebugEntitiesThrDef = v;
986
+ xmlMutexUnlock(&xmlThrDefMutex);
987
+ return ret;
988
+ }
989
+
990
+ #undef xmlParserVersion
991
+ const char * *
992
+ __xmlParserVersion(void) {
993
+ if (IS_MAIN_THREAD)
994
+ return (&xmlParserVersion);
995
+ else
996
+ return (&xmlGetGlobalState()->xmlParserVersion);
997
+ }
998
+
999
+ #undef xmlPedanticParserDefaultValue
1000
+ int *
1001
+ __xmlPedanticParserDefaultValue(void) {
1002
+ if (IS_MAIN_THREAD)
1003
+ return (&xmlPedanticParserDefaultValue);
1004
+ else
1005
+ return (&xmlGetGlobalState()->xmlPedanticParserDefaultValue);
1006
+ }
1007
+ int xmlThrDefPedanticParserDefaultValue(int v) {
1008
+ int ret;
1009
+ xmlMutexLock(&xmlThrDefMutex);
1010
+ ret = xmlPedanticParserDefaultValueThrDef;
1011
+ xmlPedanticParserDefaultValueThrDef = v;
1012
+ xmlMutexUnlock(&xmlThrDefMutex);
1013
+ return ret;
1014
+ }
1015
+
1016
+ #undef xmlSaveNoEmptyTags
1017
+ int *
1018
+ __xmlSaveNoEmptyTags(void) {
1019
+ if (IS_MAIN_THREAD)
1020
+ return (&xmlSaveNoEmptyTags);
1021
+ else
1022
+ return (&xmlGetGlobalState()->xmlSaveNoEmptyTags);
1023
+ }
1024
+ int xmlThrDefSaveNoEmptyTags(int v) {
1025
+ int ret;
1026
+ xmlMutexLock(&xmlThrDefMutex);
1027
+ ret = xmlSaveNoEmptyTagsThrDef;
1028
+ xmlSaveNoEmptyTagsThrDef = v;
1029
+ xmlMutexUnlock(&xmlThrDefMutex);
1030
+ return ret;
1031
+ }
1032
+
1033
+ #undef xmlSubstituteEntitiesDefaultValue
1034
+ int *
1035
+ __xmlSubstituteEntitiesDefaultValue(void) {
1036
+ if (IS_MAIN_THREAD)
1037
+ return (&xmlSubstituteEntitiesDefaultValue);
1038
+ else
1039
+ return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultValue);
1040
+ }
1041
+ int xmlThrDefSubstituteEntitiesDefaultValue(int v) {
1042
+ int ret;
1043
+ xmlMutexLock(&xmlThrDefMutex);
1044
+ ret = xmlSubstituteEntitiesDefaultValueThrDef;
1045
+ xmlSubstituteEntitiesDefaultValueThrDef = v;
1046
+ xmlMutexUnlock(&xmlThrDefMutex);
1047
+ return ret;
1048
+ }
1049
+
1050
+ #undef xmlRegisterNodeDefaultValue
1051
+ xmlRegisterNodeFunc *
1052
+ __xmlRegisterNodeDefaultValue(void) {
1053
+ if (IS_MAIN_THREAD)
1054
+ return (&xmlRegisterNodeDefaultValue);
1055
+ else
1056
+ return (&xmlGetGlobalState()->xmlRegisterNodeDefaultValue);
1057
+ }
1058
+
1059
+ #undef xmlDeregisterNodeDefaultValue
1060
+ xmlDeregisterNodeFunc *
1061
+ __xmlDeregisterNodeDefaultValue(void) {
1062
+ if (IS_MAIN_THREAD)
1063
+ return (&xmlDeregisterNodeDefaultValue);
1064
+ else
1065
+ return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue);
1066
+ }
1067
+
1068
+ #undef xmlParserInputBufferCreateFilenameValue
1069
+ xmlParserInputBufferCreateFilenameFunc *
1070
+ __xmlParserInputBufferCreateFilenameValue(void) {
1071
+ if (IS_MAIN_THREAD)
1072
+ return (&xmlParserInputBufferCreateFilenameValue);
1073
+ else
1074
+ return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue);
1075
+ }
1076
+
1077
+ #undef xmlOutputBufferCreateFilenameValue
1078
+ xmlOutputBufferCreateFilenameFunc *
1079
+ __xmlOutputBufferCreateFilenameValue(void) {
1080
+ if (IS_MAIN_THREAD)
1081
+ return (&xmlOutputBufferCreateFilenameValue);
1082
+ else
1083
+ return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue);
1084
+ }
1085
+