nokogiri 1.10.7 → 1.12.5-arm64-darwin

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 (242) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1173 -884
  4. data/LICENSE.md +1 -1
  5. data/README.md +176 -96
  6. data/dependencies.yml +12 -12
  7. data/ext/nokogiri/depend +38 -358
  8. data/ext/nokogiri/extconf.rb +716 -414
  9. data/ext/nokogiri/gumbo.c +584 -0
  10. data/ext/nokogiri/html4_document.c +166 -0
  11. data/ext/nokogiri/html4_element_description.c +294 -0
  12. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  13. data/ext/nokogiri/html4_sax_parser_context.c +120 -0
  14. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  15. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  16. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  17. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  18. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -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 +173 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -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 +79 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -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 +163 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1243 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -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 +89 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -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 +945 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -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 +151 -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 +485 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +564 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -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 +1978 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +228 -91
  88. data/ext/nokogiri/nokogiri.h +191 -89
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +15 -15
  91. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  92. data/ext/nokogiri/xml_cdata.c +13 -18
  93. data/ext/nokogiri/xml_comment.c +19 -26
  94. data/ext/nokogiri/xml_document.c +267 -195
  95. data/ext/nokogiri/xml_document_fragment.c +13 -15
  96. data/ext/nokogiri/xml_dtd.c +54 -48
  97. data/ext/nokogiri/xml_element_content.c +31 -26
  98. data/ext/nokogiri/xml_element_decl.c +22 -22
  99. data/ext/nokogiri/xml_encoding_handler.c +28 -17
  100. data/ext/nokogiri/xml_entity_decl.c +32 -30
  101. data/ext/nokogiri/xml_entity_reference.c +16 -18
  102. data/ext/nokogiri/xml_namespace.c +60 -51
  103. data/ext/nokogiri/xml_node.c +493 -407
  104. data/ext/nokogiri/xml_node_set.c +174 -162
  105. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  106. data/ext/nokogiri/xml_reader.c +197 -172
  107. data/ext/nokogiri/xml_relax_ng.c +52 -28
  108. data/ext/nokogiri/xml_sax_parser.c +112 -112
  109. data/ext/nokogiri/xml_sax_parser_context.c +105 -86
  110. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  111. data/ext/nokogiri/xml_schema.c +112 -33
  112. data/ext/nokogiri/xml_syntax_error.c +42 -21
  113. data/ext/nokogiri/xml_text.c +13 -17
  114. data/ext/nokogiri/xml_xpath_context.c +158 -73
  115. data/ext/nokogiri/xslt_stylesheet.c +158 -164
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +101 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.5/nokogiri.bundle +0 -0
  120. data/lib/nokogiri/2.6/nokogiri.bundle +0 -0
  121. data/lib/nokogiri/2.7/nokogiri.bundle +0 -0
  122. data/lib/nokogiri/3.0/nokogiri.bundle +0 -0
  123. data/lib/nokogiri/css/node.rb +1 -0
  124. data/lib/nokogiri/css/parser.rb +64 -63
  125. data/lib/nokogiri/css/parser.y +3 -3
  126. data/lib/nokogiri/css/parser_extras.rb +39 -36
  127. data/lib/nokogiri/css/syntax_error.rb +2 -1
  128. data/lib/nokogiri/css/tokenizer.rb +1 -0
  129. data/lib/nokogiri/css/xpath_visitor.rb +73 -43
  130. data/lib/nokogiri/css.rb +15 -14
  131. data/lib/nokogiri/decorators/slop.rb +1 -0
  132. data/lib/nokogiri/extension.rb +31 -0
  133. data/lib/nokogiri/gumbo.rb +14 -0
  134. data/lib/nokogiri/html.rb +32 -27
  135. data/lib/nokogiri/{html → html4}/builder.rb +3 -2
  136. data/lib/nokogiri/{html → html4}/document.rb +17 -30
  137. data/lib/nokogiri/{html → html4}/document_fragment.rb +18 -17
  138. data/lib/nokogiri/{html → html4}/element_description.rb +2 -1
  139. data/lib/nokogiri/{html → html4}/element_description_defaults.rb +2 -1
  140. data/lib/nokogiri/{html → html4}/entity_lookup.rb +2 -1
  141. data/lib/nokogiri/{html → html4}/sax/parser.rb +12 -14
  142. data/lib/nokogiri/html4/sax/parser_context.rb +19 -0
  143. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +6 -5
  144. data/lib/nokogiri/html4.rb +40 -0
  145. data/lib/nokogiri/html5/document.rb +74 -0
  146. data/lib/nokogiri/html5/document_fragment.rb +80 -0
  147. data/lib/nokogiri/html5/node.rb +93 -0
  148. data/lib/nokogiri/html5.rb +473 -0
  149. data/lib/nokogiri/jruby/dependencies.rb +20 -0
  150. data/lib/nokogiri/syntax_error.rb +1 -0
  151. data/lib/nokogiri/version/constant.rb +5 -0
  152. data/lib/nokogiri/version/info.rb +215 -0
  153. data/lib/nokogiri/version.rb +3 -109
  154. data/lib/nokogiri/xml/attr.rb +1 -0
  155. data/lib/nokogiri/xml/attribute_decl.rb +1 -0
  156. data/lib/nokogiri/xml/builder.rb +41 -2
  157. data/lib/nokogiri/xml/cdata.rb +1 -0
  158. data/lib/nokogiri/xml/character_data.rb +1 -0
  159. data/lib/nokogiri/xml/document.rb +138 -41
  160. data/lib/nokogiri/xml/document_fragment.rb +5 -6
  161. data/lib/nokogiri/xml/dtd.rb +1 -0
  162. data/lib/nokogiri/xml/element_content.rb +1 -0
  163. data/lib/nokogiri/xml/element_decl.rb +1 -0
  164. data/lib/nokogiri/xml/entity_decl.rb +1 -0
  165. data/lib/nokogiri/xml/entity_reference.rb +1 -0
  166. data/lib/nokogiri/xml/namespace.rb +1 -0
  167. data/lib/nokogiri/xml/node/save_options.rb +2 -1
  168. data/lib/nokogiri/xml/node.rb +629 -293
  169. data/lib/nokogiri/xml/node_set.rb +1 -0
  170. data/lib/nokogiri/xml/notation.rb +1 -0
  171. data/lib/nokogiri/xml/parse_options.rb +12 -3
  172. data/lib/nokogiri/xml/pp/character_data.rb +1 -0
  173. data/lib/nokogiri/xml/pp/node.rb +1 -0
  174. data/lib/nokogiri/xml/pp.rb +3 -2
  175. data/lib/nokogiri/xml/processing_instruction.rb +1 -0
  176. data/lib/nokogiri/xml/reader.rb +9 -12
  177. data/lib/nokogiri/xml/relax_ng.rb +7 -2
  178. data/lib/nokogiri/xml/sax/document.rb +25 -30
  179. data/lib/nokogiri/xml/sax/parser.rb +1 -0
  180. data/lib/nokogiri/xml/sax/parser_context.rb +1 -0
  181. data/lib/nokogiri/xml/sax/push_parser.rb +1 -0
  182. data/lib/nokogiri/xml/sax.rb +5 -4
  183. data/lib/nokogiri/xml/schema.rb +13 -4
  184. data/lib/nokogiri/xml/searchable.rb +25 -16
  185. data/lib/nokogiri/xml/syntax_error.rb +1 -0
  186. data/lib/nokogiri/xml/text.rb +1 -0
  187. data/lib/nokogiri/xml/xpath/syntax_error.rb +2 -1
  188. data/lib/nokogiri/xml/xpath.rb +4 -5
  189. data/lib/nokogiri/xml/xpath_context.rb +1 -0
  190. data/lib/nokogiri/xml.rb +36 -36
  191. data/lib/nokogiri/xslt/stylesheet.rb +2 -1
  192. data/lib/nokogiri/xslt.rb +17 -16
  193. data/lib/nokogiri.rb +32 -51
  194. data/lib/xsd/xmlparser/nokogiri.rb +1 -0
  195. metadata +182 -193
  196. data/ext/nokogiri/html_document.c +0 -170
  197. data/ext/nokogiri/html_document.h +0 -10
  198. data/ext/nokogiri/html_element_description.c +0 -279
  199. data/ext/nokogiri/html_element_description.h +0 -10
  200. data/ext/nokogiri/html_entity_lookup.c +0 -32
  201. data/ext/nokogiri/html_entity_lookup.h +0 -8
  202. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  203. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  204. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  205. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  206. data/ext/nokogiri/xml_attr.h +0 -9
  207. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  208. data/ext/nokogiri/xml_cdata.h +0 -9
  209. data/ext/nokogiri/xml_comment.h +0 -9
  210. data/ext/nokogiri/xml_document.h +0 -23
  211. data/ext/nokogiri/xml_document_fragment.h +0 -10
  212. data/ext/nokogiri/xml_dtd.h +0 -10
  213. data/ext/nokogiri/xml_element_content.h +0 -10
  214. data/ext/nokogiri/xml_element_decl.h +0 -9
  215. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  216. data/ext/nokogiri/xml_entity_decl.h +0 -10
  217. data/ext/nokogiri/xml_entity_reference.h +0 -9
  218. data/ext/nokogiri/xml_io.c +0 -61
  219. data/ext/nokogiri/xml_io.h +0 -11
  220. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  221. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  222. data/ext/nokogiri/xml_namespace.h +0 -14
  223. data/ext/nokogiri/xml_node.h +0 -13
  224. data/ext/nokogiri/xml_node_set.h +0 -12
  225. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  226. data/ext/nokogiri/xml_reader.h +0 -10
  227. data/ext/nokogiri/xml_relax_ng.h +0 -9
  228. data/ext/nokogiri/xml_sax_parser.h +0 -39
  229. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  230. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  231. data/ext/nokogiri/xml_schema.h +0 -9
  232. data/ext/nokogiri/xml_syntax_error.h +0 -13
  233. data/ext/nokogiri/xml_text.h +0 -9
  234. data/ext/nokogiri/xml_xpath_context.h +0 -10
  235. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  236. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  237. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  238. data/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  239. data/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  240. data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  241. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
  242. 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,224 @@
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
+ XMLPUBFUN int XMLCALL
130
+ xmlInitMemory (void);
131
+
132
+ /*
133
+ * Cleanup of the memory layer.
134
+ */
135
+ XMLPUBFUN void XMLCALL
136
+ xmlCleanupMemory (void);
137
+ /*
138
+ * These are specific to the XML debug memory wrapper.
139
+ */
140
+ XMLPUBFUN int XMLCALL
141
+ xmlMemUsed (void);
142
+ XMLPUBFUN int XMLCALL
143
+ xmlMemBlocks (void);
144
+ XMLPUBFUN void XMLCALL
145
+ xmlMemDisplay (FILE *fp);
146
+ XMLPUBFUN void XMLCALL
147
+ xmlMemDisplayLast(FILE *fp, long nbBytes);
148
+ XMLPUBFUN void XMLCALL
149
+ xmlMemShow (FILE *fp, int nr);
150
+ XMLPUBFUN void XMLCALL
151
+ xmlMemoryDump (void);
152
+ XMLPUBFUN void * XMLCALL
153
+ xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
154
+ XMLPUBFUN void * XMLCALL
155
+ xmlMemRealloc (void *ptr,size_t size);
156
+ XMLPUBFUN void XMLCALL
157
+ xmlMemFree (void *ptr);
158
+ XMLPUBFUN char * XMLCALL
159
+ xmlMemoryStrdup (const char *str);
160
+ XMLPUBFUN void * XMLCALL
161
+ xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
162
+ XMLPUBFUN void * XMLCALL
163
+ xmlReallocLoc (void *ptr, size_t size, const char *file, int line);
164
+ XMLPUBFUN void * XMLCALL
165
+ xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
166
+ XMLPUBFUN char * XMLCALL
167
+ xmlMemStrdupLoc (const char *str, const char *file, int line);
168
+
169
+
170
+ #ifdef DEBUG_MEMORY_LOCATION
171
+ /**
172
+ * xmlMalloc:
173
+ * @size: number of bytes to allocate
174
+ *
175
+ * Wrapper for the malloc() function used in the XML library.
176
+ *
177
+ * Returns the pointer to the allocated area or NULL in case of error.
178
+ */
179
+ #define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
180
+ /**
181
+ * xmlMallocAtomic:
182
+ * @size: number of bytes to allocate
183
+ *
184
+ * Wrapper for the malloc() function used in the XML library for allocation
185
+ * of block not containing pointers to other areas.
186
+ *
187
+ * Returns the pointer to the allocated area or NULL in case of error.
188
+ */
189
+ #define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__)
190
+ /**
191
+ * xmlRealloc:
192
+ * @ptr: pointer to the existing allocated area
193
+ * @size: number of bytes to allocate
194
+ *
195
+ * Wrapper for the realloc() function used in the XML library.
196
+ *
197
+ * Returns the pointer to the allocated area or NULL in case of error.
198
+ */
199
+ #define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
200
+ /**
201
+ * xmlMemStrdup:
202
+ * @str: pointer to the existing string
203
+ *
204
+ * Wrapper for the strdup() function, xmlStrdup() is usually preferred.
205
+ *
206
+ * Returns the pointer to the allocated area or NULL in case of error.
207
+ */
208
+ #define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)
209
+
210
+ #endif /* DEBUG_MEMORY_LOCATION */
211
+
212
+ #ifdef __cplusplus
213
+ }
214
+ #endif /* __cplusplus */
215
+
216
+ #ifndef __XML_GLOBALS_H
217
+ #ifndef __XML_THREADS_H__
218
+ #include <libxml/threads.h>
219
+ #include <libxml/globals.h>
220
+ #endif
221
+ #endif
222
+
223
+ #endif /* __DEBUG_MEMORY_ALLOC__ */
224
+
@@ -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__ */