nokogiri 1.10.10 → 1.14.3-aarch64-linux

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

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +44 -0
  3. data/LICENSE-DEPENDENCIES.md +1632 -1022
  4. data/LICENSE.md +1 -1
  5. data/README.md +185 -96
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +33 -66
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +819 -421
  10. data/ext/nokogiri/gumbo.c +594 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +114 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/include/libexslt/exslt.h +108 -0
  17. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  18. data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
  19. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  21. data/ext/nokogiri/include/libxml2/libxml/SAX.h +204 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +172 -0
  23. data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -0
  24. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  25. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  26. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  27. data/ext/nokogiri/include/libxml2/libxml/dict.h +81 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +232 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +153 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +499 -0
  31. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  32. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  33. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1244 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +656 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +218 -0
  39. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  41. data/ext/nokogiri/include/libxml2/libxml/threads.h +91 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1312 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +463 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +947 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +226 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +503 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +575 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +137 -0
  65. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  66. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  67. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  68. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  69. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  70. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  71. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  72. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  73. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  74. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  75. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  76. data/ext/nokogiri/include/libxslt/security.h +104 -0
  77. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  78. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  79. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  80. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  81. data/ext/nokogiri/include/libxslt/xsltInternals.h +1982 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +179 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +310 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +228 -104
  88. data/ext/nokogiri/nokogiri.h +204 -90
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +17 -17
  91. data/ext/nokogiri/xml_attribute_decl.c +22 -22
  92. data/ext/nokogiri/xml_cdata.c +15 -20
  93. data/ext/nokogiri/xml_comment.c +19 -26
  94. data/ext/nokogiri/xml_document.c +306 -225
  95. data/ext/nokogiri/xml_document_fragment.c +12 -16
  96. data/ext/nokogiri/xml_dtd.c +64 -58
  97. data/ext/nokogiri/xml_element_content.c +33 -28
  98. data/ext/nokogiri/xml_element_decl.c +26 -26
  99. data/ext/nokogiri/xml_encoding_handler.c +45 -20
  100. data/ext/nokogiri/xml_entity_decl.c +37 -35
  101. data/ext/nokogiri/xml_entity_reference.c +16 -18
  102. data/ext/nokogiri/xml_namespace.c +136 -61
  103. data/ext/nokogiri/xml_node.c +1344 -672
  104. data/ext/nokogiri/xml_node_set.c +178 -168
  105. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  106. data/ext/nokogiri/xml_reader.c +316 -190
  107. data/ext/nokogiri/xml_relax_ng.c +52 -30
  108. data/ext/nokogiri/xml_sax_parser.c +130 -124
  109. data/ext/nokogiri/xml_sax_parser_context.c +110 -89
  110. data/ext/nokogiri/xml_sax_push_parser.c +36 -29
  111. data/ext/nokogiri/xml_schema.c +98 -50
  112. data/ext/nokogiri/xml_syntax_error.c +42 -21
  113. data/ext/nokogiri/xml_text.c +14 -18
  114. data/ext/nokogiri/xml_xpath_context.c +263 -148
  115. data/ext/nokogiri/xslt_stylesheet.c +271 -178
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +111 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  120. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  121. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  122. data/lib/nokogiri/3.2/nokogiri.so +0 -0
  123. data/lib/nokogiri/class_resolver.rb +67 -0
  124. data/lib/nokogiri/css/node.rb +10 -8
  125. data/lib/nokogiri/css/parser.rb +397 -377
  126. data/lib/nokogiri/css/parser.y +250 -245
  127. data/lib/nokogiri/css/parser_extras.rb +54 -49
  128. data/lib/nokogiri/css/syntax_error.rb +3 -1
  129. data/lib/nokogiri/css/tokenizer.rb +5 -3
  130. data/lib/nokogiri/css/tokenizer.rex +3 -2
  131. data/lib/nokogiri/css/xpath_visitor.rb +223 -94
  132. data/lib/nokogiri/css.rb +56 -17
  133. data/lib/nokogiri/decorators/slop.rb +9 -7
  134. data/lib/nokogiri/encoding_handler.rb +57 -0
  135. data/lib/nokogiri/extension.rb +32 -0
  136. data/lib/nokogiri/gumbo.rb +15 -0
  137. data/lib/nokogiri/html.rb +38 -27
  138. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  139. data/lib/nokogiri/html4/document.rb +214 -0
  140. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  141. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  142. data/lib/nokogiri/html4/element_description_defaults.rb +572 -0
  143. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  144. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  145. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  146. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  147. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  148. data/lib/nokogiri/html4.rb +47 -0
  149. data/lib/nokogiri/html5/document.rb +168 -0
  150. data/lib/nokogiri/html5/document_fragment.rb +90 -0
  151. data/lib/nokogiri/html5/node.rb +98 -0
  152. data/lib/nokogiri/html5.rb +389 -0
  153. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  154. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  155. data/lib/nokogiri/syntax_error.rb +2 -0
  156. data/lib/nokogiri/version/constant.rb +6 -0
  157. data/lib/nokogiri/version/info.rb +223 -0
  158. data/lib/nokogiri/version.rb +3 -108
  159. data/lib/nokogiri/xml/attr.rb +55 -3
  160. data/lib/nokogiri/xml/attribute_decl.rb +3 -1
  161. data/lib/nokogiri/xml/builder.rb +75 -34
  162. data/lib/nokogiri/xml/cdata.rb +3 -1
  163. data/lib/nokogiri/xml/character_data.rb +2 -0
  164. data/lib/nokogiri/xml/document.rb +312 -126
  165. data/lib/nokogiri/xml/document_fragment.rb +93 -48
  166. data/lib/nokogiri/xml/dtd.rb +4 -2
  167. data/lib/nokogiri/xml/element_content.rb +2 -0
  168. data/lib/nokogiri/xml/element_decl.rb +3 -1
  169. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  170. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  171. data/lib/nokogiri/xml/namespace.rb +45 -0
  172. data/lib/nokogiri/xml/node/save_options.rb +15 -8
  173. data/lib/nokogiri/xml/node.rb +1067 -406
  174. data/lib/nokogiri/xml/node_set.rb +135 -59
  175. data/lib/nokogiri/xml/notation.rb +13 -0
  176. data/lib/nokogiri/xml/parse_options.rb +145 -52
  177. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  178. data/lib/nokogiri/xml/pp/node.rb +27 -26
  179. data/lib/nokogiri/xml/pp.rb +4 -2
  180. data/lib/nokogiri/xml/processing_instruction.rb +4 -1
  181. data/lib/nokogiri/xml/reader.rb +21 -28
  182. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  183. data/lib/nokogiri/xml/sax/document.rb +45 -49
  184. data/lib/nokogiri/xml/sax/parser.rb +39 -36
  185. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  186. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  187. data/lib/nokogiri/xml/sax.rb +6 -4
  188. data/lib/nokogiri/xml/schema.rb +19 -9
  189. data/lib/nokogiri/xml/searchable.rb +112 -72
  190. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  191. data/lib/nokogiri/xml/text.rb +2 -0
  192. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  193. data/lib/nokogiri/xml/xpath.rb +15 -4
  194. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  195. data/lib/nokogiri/xml.rb +38 -37
  196. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  197. data/lib/nokogiri/xslt.rb +29 -20
  198. data/lib/nokogiri.rb +48 -72
  199. data/lib/xsd/xmlparser/nokogiri.rb +29 -25
  200. metadata +146 -307
  201. data/ext/nokogiri/html_document.c +0 -170
  202. data/ext/nokogiri/html_document.h +0 -10
  203. data/ext/nokogiri/html_element_description.c +0 -279
  204. data/ext/nokogiri/html_element_description.h +0 -10
  205. data/ext/nokogiri/html_entity_lookup.c +0 -32
  206. data/ext/nokogiri/html_entity_lookup.h +0 -8
  207. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  208. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  209. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  210. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  211. data/ext/nokogiri/xml_attr.h +0 -9
  212. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  213. data/ext/nokogiri/xml_cdata.h +0 -9
  214. data/ext/nokogiri/xml_comment.h +0 -9
  215. data/ext/nokogiri/xml_document.h +0 -23
  216. data/ext/nokogiri/xml_document_fragment.h +0 -10
  217. data/ext/nokogiri/xml_dtd.h +0 -10
  218. data/ext/nokogiri/xml_element_content.h +0 -10
  219. data/ext/nokogiri/xml_element_decl.h +0 -9
  220. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  221. data/ext/nokogiri/xml_entity_decl.h +0 -10
  222. data/ext/nokogiri/xml_entity_reference.h +0 -9
  223. data/ext/nokogiri/xml_io.c +0 -61
  224. data/ext/nokogiri/xml_io.h +0 -11
  225. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  226. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  227. data/ext/nokogiri/xml_namespace.h +0 -14
  228. data/ext/nokogiri/xml_node.h +0 -13
  229. data/ext/nokogiri/xml_node_set.h +0 -12
  230. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  231. data/ext/nokogiri/xml_reader.h +0 -10
  232. data/ext/nokogiri/xml_relax_ng.h +0 -9
  233. data/ext/nokogiri/xml_sax_parser.h +0 -39
  234. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  235. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  236. data/ext/nokogiri/xml_schema.h +0 -9
  237. data/ext/nokogiri/xml_syntax_error.h +0 -13
  238. data/ext/nokogiri/xml_text.h +0 -9
  239. data/ext/nokogiri/xml_xpath_context.h +0 -10
  240. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  241. data/lib/nokogiri/html/document.rb +0 -335
  242. data/lib/nokogiri/html/document_fragment.rb +0 -49
  243. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  244. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  245. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  246. data/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  247. data/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  248. data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  249. data/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +0 -32
  250. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
  251. data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
@@ -0,0 +1,77 @@
1
+ /*
2
+ * Summary: macros for marking symbols as exportable/importable.
3
+ * Description: macros for marking symbols as exportable/importable.
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ */
7
+
8
+ #ifndef __XML_EXPORTS_H__
9
+ #define __XML_EXPORTS_H__
10
+
11
+ #if defined(_WIN32) || defined(__CYGWIN__)
12
+ /** DOC_DISABLE */
13
+
14
+ #ifdef LIBXML_STATIC
15
+ #define XMLPUBLIC
16
+ #elif defined(IN_LIBXML)
17
+ #define XMLPUBLIC __declspec(dllexport)
18
+ #else
19
+ #define XMLPUBLIC __declspec(dllimport)
20
+ #endif
21
+
22
+ #if defined(LIBXML_FASTCALL)
23
+ #define XMLCALL __fastcall
24
+ #else
25
+ #define XMLCALL __cdecl
26
+ #endif
27
+ #define XMLCDECL __cdecl
28
+
29
+ /** DOC_ENABLE */
30
+ #else /* not Windows */
31
+
32
+ /**
33
+ * XMLPUBLIC:
34
+ *
35
+ * Macro which declares a public symbol
36
+ */
37
+ #define XMLPUBLIC
38
+
39
+ /**
40
+ * XMLCALL:
41
+ *
42
+ * Macro which declares the calling convention for exported functions
43
+ */
44
+ #define XMLCALL
45
+
46
+ /**
47
+ * XMLCDECL:
48
+ *
49
+ * Macro which declares the calling convention for exported functions that
50
+ * use '...'.
51
+ */
52
+ #define XMLCDECL
53
+
54
+ #endif /* platform switch */
55
+
56
+ /*
57
+ * XMLPUBFUN:
58
+ *
59
+ * Macro which declares an exportable function
60
+ */
61
+ #define XMLPUBFUN XMLPUBLIC
62
+
63
+ /**
64
+ * XMLPUBVAR:
65
+ *
66
+ * Macro which declares an exportable variable
67
+ */
68
+ #define XMLPUBVAR XMLPUBLIC extern
69
+
70
+ /* Compatibility */
71
+ #if !defined(LIBXML_DLL_IMPORT)
72
+ #define LIBXML_DLL_IMPORT XMLPUBVAR
73
+ #endif
74
+
75
+ #endif /* __XML_EXPORTS_H__ */
76
+
77
+
@@ -0,0 +1,226 @@
1
+ /*
2
+ * Summary: interface for the memory allocator
3
+ * Description: provides interfaces for the memory allocator,
4
+ * including debugging capabilities.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+
12
+ #ifndef __DEBUG_MEMORY_ALLOC__
13
+ #define __DEBUG_MEMORY_ALLOC__
14
+
15
+ #include <stdio.h>
16
+ #include <libxml/xmlversion.h>
17
+
18
+ /**
19
+ * DEBUG_MEMORY:
20
+ *
21
+ * DEBUG_MEMORY replaces the allocator with a collect and debug
22
+ * shell to the libc allocator.
23
+ * DEBUG_MEMORY should only be activated when debugging
24
+ * libxml i.e. if libxml has been configured with --with-debug-mem too.
25
+ */
26
+ /* #define DEBUG_MEMORY_FREED */
27
+ /* #define DEBUG_MEMORY_LOCATION */
28
+
29
+ #ifdef DEBUG
30
+ #ifndef DEBUG_MEMORY
31
+ #define DEBUG_MEMORY
32
+ #endif
33
+ #endif
34
+
35
+ /**
36
+ * DEBUG_MEMORY_LOCATION:
37
+ *
38
+ * DEBUG_MEMORY_LOCATION should be activated only when debugging
39
+ * libxml i.e. if libxml has been configured with --with-debug-mem too.
40
+ */
41
+ #ifdef DEBUG_MEMORY_LOCATION
42
+ #endif
43
+
44
+ #ifdef __cplusplus
45
+ extern "C" {
46
+ #endif
47
+
48
+ /*
49
+ * The XML memory wrapper support 4 basic overloadable functions.
50
+ */
51
+ /**
52
+ * xmlFreeFunc:
53
+ * @mem: an already allocated block of memory
54
+ *
55
+ * Signature for a free() implementation.
56
+ */
57
+ typedef void (XMLCALL *xmlFreeFunc)(void *mem);
58
+ /**
59
+ * xmlMallocFunc:
60
+ * @size: the size requested in bytes
61
+ *
62
+ * Signature for a malloc() implementation.
63
+ *
64
+ * Returns a pointer to the newly allocated block or NULL in case of error.
65
+ */
66
+ typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(size_t size);
67
+
68
+ /**
69
+ * xmlReallocFunc:
70
+ * @mem: an already allocated block of memory
71
+ * @size: the new size requested in bytes
72
+ *
73
+ * Signature for a realloc() implementation.
74
+ *
75
+ * Returns a pointer to the newly reallocated block or NULL in case of error.
76
+ */
77
+ typedef void *(XMLCALL *xmlReallocFunc)(void *mem, size_t size);
78
+
79
+ /**
80
+ * xmlStrdupFunc:
81
+ * @str: a zero terminated string
82
+ *
83
+ * Signature for an strdup() implementation.
84
+ *
85
+ * Returns the copy of the string or NULL in case of error.
86
+ */
87
+ typedef char *(XMLCALL *xmlStrdupFunc)(const char *str);
88
+
89
+ /*
90
+ * The 4 interfaces used for all memory handling within libxml.
91
+ LIBXML_DLL_IMPORT xmlFreeFunc xmlFree;
92
+ LIBXML_DLL_IMPORT xmlMallocFunc xmlMalloc;
93
+ LIBXML_DLL_IMPORT xmlMallocFunc xmlMallocAtomic;
94
+ LIBXML_DLL_IMPORT xmlReallocFunc xmlRealloc;
95
+ LIBXML_DLL_IMPORT xmlStrdupFunc xmlMemStrdup;
96
+ */
97
+
98
+ /*
99
+ * The way to overload the existing functions.
100
+ * The xmlGc function have an extra entry for atomic block
101
+ * allocations useful for garbage collected memory allocators
102
+ */
103
+ XMLPUBFUN int XMLCALL
104
+ xmlMemSetup (xmlFreeFunc freeFunc,
105
+ xmlMallocFunc mallocFunc,
106
+ xmlReallocFunc reallocFunc,
107
+ xmlStrdupFunc strdupFunc);
108
+ XMLPUBFUN int XMLCALL
109
+ xmlMemGet (xmlFreeFunc *freeFunc,
110
+ xmlMallocFunc *mallocFunc,
111
+ xmlReallocFunc *reallocFunc,
112
+ xmlStrdupFunc *strdupFunc);
113
+ XMLPUBFUN int XMLCALL
114
+ xmlGcMemSetup (xmlFreeFunc freeFunc,
115
+ xmlMallocFunc mallocFunc,
116
+ xmlMallocFunc mallocAtomicFunc,
117
+ xmlReallocFunc reallocFunc,
118
+ xmlStrdupFunc strdupFunc);
119
+ XMLPUBFUN int XMLCALL
120
+ xmlGcMemGet (xmlFreeFunc *freeFunc,
121
+ xmlMallocFunc *mallocFunc,
122
+ xmlMallocFunc *mallocAtomicFunc,
123
+ xmlReallocFunc *reallocFunc,
124
+ xmlStrdupFunc *strdupFunc);
125
+
126
+ /*
127
+ * Initialization of the memory layer.
128
+ */
129
+ XML_DEPRECATED
130
+ XMLPUBFUN int XMLCALL
131
+ xmlInitMemory (void);
132
+
133
+ /*
134
+ * Cleanup of the memory layer.
135
+ */
136
+ XML_DEPRECATED
137
+ XMLPUBFUN void XMLCALL
138
+ xmlCleanupMemory (void);
139
+ /*
140
+ * These are specific to the XML debug memory wrapper.
141
+ */
142
+ XMLPUBFUN int XMLCALL
143
+ xmlMemUsed (void);
144
+ XMLPUBFUN int XMLCALL
145
+ xmlMemBlocks (void);
146
+ XMLPUBFUN void XMLCALL
147
+ xmlMemDisplay (FILE *fp);
148
+ XMLPUBFUN void XMLCALL
149
+ xmlMemDisplayLast(FILE *fp, long nbBytes);
150
+ XMLPUBFUN void XMLCALL
151
+ xmlMemShow (FILE *fp, int nr);
152
+ XMLPUBFUN void XMLCALL
153
+ xmlMemoryDump (void);
154
+ XMLPUBFUN void * XMLCALL
155
+ xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
156
+ XMLPUBFUN void * XMLCALL
157
+ xmlMemRealloc (void *ptr,size_t size);
158
+ XMLPUBFUN void XMLCALL
159
+ xmlMemFree (void *ptr);
160
+ XMLPUBFUN char * XMLCALL
161
+ xmlMemoryStrdup (const char *str);
162
+ XMLPUBFUN void * XMLCALL
163
+ xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
164
+ XMLPUBFUN void * XMLCALL
165
+ xmlReallocLoc (void *ptr, size_t size, const char *file, int line);
166
+ XMLPUBFUN void * XMLCALL
167
+ xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
168
+ XMLPUBFUN char * XMLCALL
169
+ xmlMemStrdupLoc (const char *str, const char *file, int line);
170
+
171
+
172
+ #ifdef DEBUG_MEMORY_LOCATION
173
+ /**
174
+ * xmlMalloc:
175
+ * @size: number of bytes to allocate
176
+ *
177
+ * Wrapper for the malloc() function used in the XML library.
178
+ *
179
+ * Returns the pointer to the allocated area or NULL in case of error.
180
+ */
181
+ #define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
182
+ /**
183
+ * xmlMallocAtomic:
184
+ * @size: number of bytes to allocate
185
+ *
186
+ * Wrapper for the malloc() function used in the XML library for allocation
187
+ * of block not containing pointers to other areas.
188
+ *
189
+ * Returns the pointer to the allocated area or NULL in case of error.
190
+ */
191
+ #define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__)
192
+ /**
193
+ * xmlRealloc:
194
+ * @ptr: pointer to the existing allocated area
195
+ * @size: number of bytes to allocate
196
+ *
197
+ * Wrapper for the realloc() function used in the XML library.
198
+ *
199
+ * Returns the pointer to the allocated area or NULL in case of error.
200
+ */
201
+ #define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
202
+ /**
203
+ * xmlMemStrdup:
204
+ * @str: pointer to the existing string
205
+ *
206
+ * Wrapper for the strdup() function, xmlStrdup() is usually preferred.
207
+ *
208
+ * Returns the pointer to the allocated area or NULL in case of error.
209
+ */
210
+ #define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)
211
+
212
+ #endif /* DEBUG_MEMORY_LOCATION */
213
+
214
+ #ifdef __cplusplus
215
+ }
216
+ #endif /* __cplusplus */
217
+
218
+ #ifndef __XML_GLOBALS_H
219
+ #ifndef __XML_THREADS_H__
220
+ #include <libxml/threads.h>
221
+ #include <libxml/globals.h>
222
+ #endif
223
+ #endif
224
+
225
+ #endif /* __DEBUG_MEMORY_ALLOC__ */
226
+
@@ -0,0 +1,57 @@
1
+ /*
2
+ * Summary: dynamic module loading
3
+ * Description: basic API for dynamic module loading, used by
4
+ * libexslt added in 2.6.17
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Joel W. Reed
9
+ */
10
+
11
+ #ifndef __XML_MODULE_H__
12
+ #define __XML_MODULE_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+
16
+ #ifdef LIBXML_MODULES_ENABLED
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * xmlModulePtr:
24
+ *
25
+ * A handle to a dynamically loaded module
26
+ */
27
+ typedef struct _xmlModule xmlModule;
28
+ typedef xmlModule *xmlModulePtr;
29
+
30
+ /**
31
+ * xmlModuleOption:
32
+ *
33
+ * enumeration of options that can be passed down to xmlModuleOpen()
34
+ */
35
+ typedef enum {
36
+ XML_MODULE_LAZY = 1, /* lazy binding */
37
+ XML_MODULE_LOCAL= 2 /* local binding */
38
+ } xmlModuleOption;
39
+
40
+ XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen (const char *filename,
41
+ int options);
42
+
43
+ XMLPUBFUN int XMLCALL xmlModuleSymbol (xmlModulePtr module,
44
+ const char* name,
45
+ void **result);
46
+
47
+ XMLPUBFUN int XMLCALL xmlModuleClose (xmlModulePtr module);
48
+
49
+ XMLPUBFUN int XMLCALL xmlModuleFree (xmlModulePtr module);
50
+
51
+ #ifdef __cplusplus
52
+ }
53
+ #endif
54
+
55
+ #endif /* LIBXML_MODULES_ENABLED */
56
+
57
+ #endif /*__XML_MODULE_H__ */