nokogiri 1.18.0.rc1-x86_64-linux-musl
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.
- checksums.yaml +7 -0
- data/Gemfile +38 -0
- data/LICENSE-DEPENDENCIES.md +2224 -0
- data/LICENSE.md +9 -0
- data/README.md +293 -0
- data/bin/nokogiri +131 -0
- data/dependencies.yml +42 -0
- data/ext/nokogiri/depend +38 -0
- data/ext/nokogiri/extconf.rb +1173 -0
- data/ext/nokogiri/gumbo.c +610 -0
- data/ext/nokogiri/html4_document.c +171 -0
- data/ext/nokogiri/html4_element_description.c +299 -0
- data/ext/nokogiri/html4_entity_lookup.c +37 -0
- data/ext/nokogiri/html4_sax_parser.c +40 -0
- data/ext/nokogiri/html4_sax_parser_context.c +98 -0
- data/ext/nokogiri/html4_sax_push_parser.c +96 -0
- data/ext/nokogiri/include/libexslt/exslt.h +108 -0
- data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
- data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +336 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX.h +202 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX2.h +171 -0
- data/ext/nokogiri/include/libxml2/libxml/c14n.h +115 -0
- data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
- data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
- data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
- data/ext/nokogiri/include/libxml2/libxml/dict.h +82 -0
- data/ext/nokogiri/include/libxml2/libxml/encoding.h +244 -0
- data/ext/nokogiri/include/libxml2/libxml/entities.h +166 -0
- data/ext/nokogiri/include/libxml2/libxml/globals.h +41 -0
- data/ext/nokogiri/include/libxml2/libxml/hash.h +251 -0
- data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
- data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
- data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +98 -0
- data/ext/nokogiri/include/libxml2/libxml/parser.h +1390 -0
- data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +671 -0
- data/ext/nokogiri/include/libxml2/libxml/pattern.h +106 -0
- data/ext/nokogiri/include/libxml2/libxml/relaxng.h +219 -0
- data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +959 -0
- data/ext/nokogiri/include/libxml2/libxml/schematron.h +143 -0
- data/ext/nokogiri/include/libxml2/libxml/threads.h +87 -0
- data/ext/nokogiri/include/libxml2/libxml/tree.h +1382 -0
- data/ext/nokogiri/include/libxml2/libxml/uri.h +106 -0
- data/ext/nokogiri/include/libxml2/libxml/valid.h +477 -0
- data/ext/nokogiri/include/libxml2/libxml/xinclude.h +136 -0
- data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +438 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +962 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +188 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +436 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +215 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +102 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +249 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +366 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +347 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +489 -0
- data/ext/nokogiri/include/libxml2/libxml/xpath.h +579 -0
- data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +633 -0
- data/ext/nokogiri/include/libxml2/libxml/xpointer.h +138 -0
- data/ext/nokogiri/include/libxslt/attributes.h +39 -0
- data/ext/nokogiri/include/libxslt/documents.h +93 -0
- data/ext/nokogiri/include/libxslt/extensions.h +262 -0
- data/ext/nokogiri/include/libxslt/extra.h +72 -0
- data/ext/nokogiri/include/libxslt/functions.h +78 -0
- data/ext/nokogiri/include/libxslt/imports.h +75 -0
- data/ext/nokogiri/include/libxslt/keys.h +53 -0
- data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
- data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
- data/ext/nokogiri/include/libxslt/pattern.h +84 -0
- data/ext/nokogiri/include/libxslt/preproc.h +43 -0
- data/ext/nokogiri/include/libxslt/security.h +104 -0
- data/ext/nokogiri/include/libxslt/templates.h +77 -0
- data/ext/nokogiri/include/libxslt/transform.h +207 -0
- data/ext/nokogiri/include/libxslt/variables.h +118 -0
- data/ext/nokogiri/include/libxslt/xslt.h +110 -0
- data/ext/nokogiri/include/libxslt/xsltInternals.h +1995 -0
- data/ext/nokogiri/include/libxslt/xsltconfig.h +146 -0
- data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
- data/ext/nokogiri/include/libxslt/xsltlocale.h +44 -0
- data/ext/nokogiri/include/libxslt/xsltutils.h +343 -0
- data/ext/nokogiri/libxml2_polyfill.c +114 -0
- data/ext/nokogiri/nokogiri.c +294 -0
- data/ext/nokogiri/nokogiri.h +238 -0
- data/ext/nokogiri/test_global_handlers.c +40 -0
- data/ext/nokogiri/xml_attr.c +103 -0
- data/ext/nokogiri/xml_attribute_decl.c +70 -0
- data/ext/nokogiri/xml_cdata.c +62 -0
- data/ext/nokogiri/xml_comment.c +57 -0
- data/ext/nokogiri/xml_document.c +784 -0
- data/ext/nokogiri/xml_document_fragment.c +29 -0
- data/ext/nokogiri/xml_dtd.c +208 -0
- data/ext/nokogiri/xml_element_content.c +131 -0
- data/ext/nokogiri/xml_element_decl.c +69 -0
- data/ext/nokogiri/xml_encoding_handler.c +112 -0
- data/ext/nokogiri/xml_entity_decl.c +112 -0
- data/ext/nokogiri/xml_entity_reference.c +50 -0
- data/ext/nokogiri/xml_namespace.c +181 -0
- data/ext/nokogiri/xml_node.c +2459 -0
- data/ext/nokogiri/xml_node_set.c +518 -0
- data/ext/nokogiri/xml_processing_instruction.c +54 -0
- data/ext/nokogiri/xml_reader.c +777 -0
- data/ext/nokogiri/xml_relax_ng.c +149 -0
- data/ext/nokogiri/xml_sax_parser.c +403 -0
- data/ext/nokogiri/xml_sax_parser_context.c +390 -0
- data/ext/nokogiri/xml_sax_push_parser.c +206 -0
- data/ext/nokogiri/xml_schema.c +226 -0
- data/ext/nokogiri/xml_syntax_error.c +93 -0
- data/ext/nokogiri/xml_text.c +59 -0
- data/ext/nokogiri/xml_xpath_context.c +502 -0
- data/ext/nokogiri/xslt_stylesheet.c +421 -0
- data/gumbo-parser/CHANGES.md +63 -0
- data/gumbo-parser/Makefile +129 -0
- data/gumbo-parser/THANKS +27 -0
- data/lib/nokogiri/3.1/nokogiri.so +0 -0
- data/lib/nokogiri/3.2/nokogiri.so +0 -0
- data/lib/nokogiri/3.3/nokogiri.so +0 -0
- data/lib/nokogiri/3.4/nokogiri.so +0 -0
- data/lib/nokogiri/class_resolver.rb +67 -0
- data/lib/nokogiri/css/node.rb +58 -0
- data/lib/nokogiri/css/parser.rb +772 -0
- data/lib/nokogiri/css/parser.y +277 -0
- data/lib/nokogiri/css/parser_extras.rb +36 -0
- data/lib/nokogiri/css/selector_cache.rb +38 -0
- data/lib/nokogiri/css/syntax_error.rb +9 -0
- data/lib/nokogiri/css/tokenizer.rb +155 -0
- data/lib/nokogiri/css/tokenizer.rex +57 -0
- data/lib/nokogiri/css/xpath_visitor.rb +375 -0
- data/lib/nokogiri/css.rb +132 -0
- data/lib/nokogiri/decorators/slop.rb +42 -0
- data/lib/nokogiri/encoding_handler.rb +57 -0
- data/lib/nokogiri/extension.rb +32 -0
- data/lib/nokogiri/gumbo.rb +15 -0
- data/lib/nokogiri/html.rb +48 -0
- data/lib/nokogiri/html4/builder.rb +37 -0
- data/lib/nokogiri/html4/document.rb +235 -0
- data/lib/nokogiri/html4/document_fragment.rb +166 -0
- data/lib/nokogiri/html4/element_description.rb +25 -0
- data/lib/nokogiri/html4/element_description_defaults.rb +2040 -0
- data/lib/nokogiri/html4/encoding_reader.rb +121 -0
- data/lib/nokogiri/html4/entity_lookup.rb +15 -0
- data/lib/nokogiri/html4/sax/parser.rb +48 -0
- data/lib/nokogiri/html4/sax/parser_context.rb +15 -0
- data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
- data/lib/nokogiri/html4.rb +42 -0
- data/lib/nokogiri/html5/builder.rb +40 -0
- data/lib/nokogiri/html5/document.rb +199 -0
- data/lib/nokogiri/html5/document_fragment.rb +200 -0
- data/lib/nokogiri/html5/node.rb +103 -0
- data/lib/nokogiri/html5.rb +368 -0
- data/lib/nokogiri/jruby/dependencies.rb +3 -0
- data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
- data/lib/nokogiri/syntax_error.rb +6 -0
- data/lib/nokogiri/version/constant.rb +6 -0
- data/lib/nokogiri/version/info.rb +224 -0
- data/lib/nokogiri/version.rb +4 -0
- data/lib/nokogiri/xml/attr.rb +66 -0
- data/lib/nokogiri/xml/attribute_decl.rb +22 -0
- data/lib/nokogiri/xml/builder.rb +494 -0
- data/lib/nokogiri/xml/cdata.rb +13 -0
- data/lib/nokogiri/xml/character_data.rb +9 -0
- data/lib/nokogiri/xml/document.rb +514 -0
- data/lib/nokogiri/xml/document_fragment.rb +276 -0
- data/lib/nokogiri/xml/dtd.rb +34 -0
- data/lib/nokogiri/xml/element_content.rb +46 -0
- data/lib/nokogiri/xml/element_decl.rb +17 -0
- data/lib/nokogiri/xml/entity_decl.rb +23 -0
- data/lib/nokogiri/xml/entity_reference.rb +20 -0
- data/lib/nokogiri/xml/namespace.rb +57 -0
- data/lib/nokogiri/xml/node/save_options.rb +76 -0
- data/lib/nokogiri/xml/node.rb +1650 -0
- data/lib/nokogiri/xml/node_set.rb +449 -0
- data/lib/nokogiri/xml/notation.rb +19 -0
- data/lib/nokogiri/xml/parse_options.rb +213 -0
- data/lib/nokogiri/xml/pp/character_data.rb +21 -0
- data/lib/nokogiri/xml/pp/node.rb +73 -0
- data/lib/nokogiri/xml/pp.rb +4 -0
- data/lib/nokogiri/xml/processing_instruction.rb +11 -0
- data/lib/nokogiri/xml/reader.rb +139 -0
- data/lib/nokogiri/xml/relax_ng.rb +75 -0
- data/lib/nokogiri/xml/sax/document.rb +258 -0
- data/lib/nokogiri/xml/sax/parser.rb +199 -0
- data/lib/nokogiri/xml/sax/parser_context.rb +129 -0
- data/lib/nokogiri/xml/sax/push_parser.rb +64 -0
- data/lib/nokogiri/xml/sax.rb +54 -0
- data/lib/nokogiri/xml/schema.rb +140 -0
- data/lib/nokogiri/xml/searchable.rb +297 -0
- data/lib/nokogiri/xml/syntax_error.rb +94 -0
- data/lib/nokogiri/xml/text.rb +11 -0
- data/lib/nokogiri/xml/xpath/syntax_error.rb +13 -0
- data/lib/nokogiri/xml/xpath.rb +21 -0
- data/lib/nokogiri/xml/xpath_context.rb +49 -0
- data/lib/nokogiri/xml.rb +65 -0
- data/lib/nokogiri/xslt/stylesheet.rb +49 -0
- data/lib/nokogiri/xslt.rb +129 -0
- data/lib/nokogiri.rb +128 -0
- data/lib/xsd/xmlparser/nokogiri.rb +105 -0
- metadata +324 -0
@@ -0,0 +1,146 @@
|
|
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
|
+
/** DOC_DISABLE */
|
12
|
+
|
13
|
+
/*
|
14
|
+
* Symbol visibility
|
15
|
+
*/
|
16
|
+
|
17
|
+
#if defined(_WIN32) || defined(__CYGWIN__)
|
18
|
+
#ifdef LIBXML_STATIC
|
19
|
+
#define XMLPUBLIC
|
20
|
+
#elif defined(IN_LIBXML)
|
21
|
+
#define XMLPUBLIC __declspec(dllexport)
|
22
|
+
#else
|
23
|
+
#define XMLPUBLIC __declspec(dllimport)
|
24
|
+
#endif
|
25
|
+
#else /* not Windows */
|
26
|
+
#define XMLPUBLIC
|
27
|
+
#endif /* platform switch */
|
28
|
+
|
29
|
+
#define XMLPUBFUN XMLPUBLIC
|
30
|
+
|
31
|
+
#define XMLPUBVAR XMLPUBLIC extern
|
32
|
+
|
33
|
+
/* Compatibility */
|
34
|
+
#define XMLCALL
|
35
|
+
#define XMLCDECL
|
36
|
+
#ifndef LIBXML_DLL_IMPORT
|
37
|
+
#define LIBXML_DLL_IMPORT XMLPUBVAR
|
38
|
+
#endif
|
39
|
+
|
40
|
+
/*
|
41
|
+
* Attributes
|
42
|
+
*/
|
43
|
+
|
44
|
+
#ifndef ATTRIBUTE_UNUSED
|
45
|
+
#if __GNUC__ * 100 + __GNUC_MINOR__ >= 207 || defined(__clang__)
|
46
|
+
#define ATTRIBUTE_UNUSED __attribute__((unused))
|
47
|
+
#else
|
48
|
+
#define ATTRIBUTE_UNUSED
|
49
|
+
#endif
|
50
|
+
#endif
|
51
|
+
|
52
|
+
#if !defined(__clang__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)
|
53
|
+
#define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
|
54
|
+
#else
|
55
|
+
#define LIBXML_ATTR_ALLOC_SIZE(x)
|
56
|
+
#endif
|
57
|
+
|
58
|
+
#if __GNUC__ * 100 + __GNUC_MINOR__ >= 303
|
59
|
+
#define LIBXML_ATTR_FORMAT(fmt,args) \
|
60
|
+
__attribute__((__format__(__printf__,fmt,args)))
|
61
|
+
#else
|
62
|
+
#define LIBXML_ATTR_FORMAT(fmt,args)
|
63
|
+
#endif
|
64
|
+
|
65
|
+
#ifndef XML_DEPRECATED
|
66
|
+
#if defined(IN_LIBXML)
|
67
|
+
#define XML_DEPRECATED
|
68
|
+
#elif __GNUC__ * 100 + __GNUC_MINOR__ >= 301
|
69
|
+
#define XML_DEPRECATED __attribute__((deprecated))
|
70
|
+
#elif defined(_MSC_VER) && _MSC_VER >= 1400
|
71
|
+
/* Available since Visual Studio 2005 */
|
72
|
+
#define XML_DEPRECATED __declspec(deprecated)
|
73
|
+
#else
|
74
|
+
#define XML_DEPRECATED
|
75
|
+
#endif
|
76
|
+
#endif
|
77
|
+
|
78
|
+
/*
|
79
|
+
* Warnings pragmas, should be moved from public headers
|
80
|
+
*/
|
81
|
+
|
82
|
+
#if defined(__LCC__)
|
83
|
+
|
84
|
+
#define XML_IGNORE_FPTR_CAST_WARNINGS
|
85
|
+
#define XML_POP_WARNINGS \
|
86
|
+
_Pragma("diag_default 1215")
|
87
|
+
|
88
|
+
#elif defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 406)
|
89
|
+
|
90
|
+
#if defined(__clang__) || (__GNUC__ * 100 + __GNUC_MINOR__ >= 800)
|
91
|
+
#define XML_IGNORE_FPTR_CAST_WARNINGS \
|
92
|
+
_Pragma("GCC diagnostic push") \
|
93
|
+
_Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
|
94
|
+
_Pragma("GCC diagnostic ignored \"-Wcast-function-type\"")
|
95
|
+
#else
|
96
|
+
#define XML_IGNORE_FPTR_CAST_WARNINGS \
|
97
|
+
_Pragma("GCC diagnostic push") \
|
98
|
+
_Pragma("GCC diagnostic ignored \"-Wpedantic\"")
|
99
|
+
#endif
|
100
|
+
#define XML_POP_WARNINGS \
|
101
|
+
_Pragma("GCC diagnostic pop")
|
102
|
+
|
103
|
+
#elif defined(_MSC_VER) && _MSC_VER >= 1400
|
104
|
+
|
105
|
+
#define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push))
|
106
|
+
#define XML_POP_WARNINGS __pragma(warning(pop))
|
107
|
+
|
108
|
+
#else
|
109
|
+
|
110
|
+
#define XML_IGNORE_FPTR_CAST_WARNINGS
|
111
|
+
#define XML_POP_WARNINGS
|
112
|
+
|
113
|
+
#endif
|
114
|
+
|
115
|
+
/*
|
116
|
+
* Accessors for globals
|
117
|
+
*/
|
118
|
+
|
119
|
+
#define XML_NO_ATTR
|
120
|
+
|
121
|
+
#ifdef LIBXML_THREAD_ENABLED
|
122
|
+
#define XML_DECLARE_GLOBAL(name, type, attrs) \
|
123
|
+
attrs XMLPUBFUN type *__##name(void);
|
124
|
+
#define XML_GLOBAL_MACRO(name) (*__##name())
|
125
|
+
#else
|
126
|
+
#define XML_DECLARE_GLOBAL(name, type, attrs) \
|
127
|
+
attrs XMLPUBVAR type name;
|
128
|
+
#endif
|
129
|
+
|
130
|
+
/*
|
131
|
+
* Originally declared in xmlversion.h which is generated
|
132
|
+
*/
|
133
|
+
|
134
|
+
#ifdef __cplusplus
|
135
|
+
extern "C" {
|
136
|
+
#endif
|
137
|
+
|
138
|
+
XMLPUBFUN void xmlCheckVersion(int version);
|
139
|
+
|
140
|
+
#ifdef __cplusplus
|
141
|
+
}
|
142
|
+
#endif
|
143
|
+
|
144
|
+
#endif /* __XML_EXPORTS_H__ */
|
145
|
+
|
146
|
+
|
@@ -0,0 +1,188 @@
|
|
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
|
+
#ifdef __cplusplus
|
19
|
+
extern "C" {
|
20
|
+
#endif
|
21
|
+
|
22
|
+
/*
|
23
|
+
* The XML memory wrapper support 4 basic overloadable functions.
|
24
|
+
*/
|
25
|
+
/**
|
26
|
+
* xmlFreeFunc:
|
27
|
+
* @mem: an already allocated block of memory
|
28
|
+
*
|
29
|
+
* Signature for a free() implementation.
|
30
|
+
*/
|
31
|
+
typedef void (*xmlFreeFunc)(void *mem);
|
32
|
+
/**
|
33
|
+
* xmlMallocFunc:
|
34
|
+
* @size: the size requested in bytes
|
35
|
+
*
|
36
|
+
* Signature for a malloc() implementation.
|
37
|
+
*
|
38
|
+
* Returns a pointer to the newly allocated block or NULL in case of error.
|
39
|
+
*/
|
40
|
+
typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) *xmlMallocFunc)(size_t size);
|
41
|
+
|
42
|
+
/**
|
43
|
+
* xmlReallocFunc:
|
44
|
+
* @mem: an already allocated block of memory
|
45
|
+
* @size: the new size requested in bytes
|
46
|
+
*
|
47
|
+
* Signature for a realloc() implementation.
|
48
|
+
*
|
49
|
+
* Returns a pointer to the newly reallocated block or NULL in case of error.
|
50
|
+
*/
|
51
|
+
typedef void *(*xmlReallocFunc)(void *mem, size_t size);
|
52
|
+
|
53
|
+
/**
|
54
|
+
* xmlStrdupFunc:
|
55
|
+
* @str: a zero terminated string
|
56
|
+
*
|
57
|
+
* Signature for an strdup() implementation.
|
58
|
+
*
|
59
|
+
* Returns the copy of the string or NULL in case of error.
|
60
|
+
*/
|
61
|
+
typedef char *(*xmlStrdupFunc)(const char *str);
|
62
|
+
|
63
|
+
/*
|
64
|
+
* In general the memory allocation entry points are not kept
|
65
|
+
* thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
|
66
|
+
* - xmlMalloc
|
67
|
+
* - xmlMallocAtomic
|
68
|
+
* - xmlRealloc
|
69
|
+
* - xmlMemStrdup
|
70
|
+
* - xmlFree
|
71
|
+
*/
|
72
|
+
/** DOC_DISABLE */
|
73
|
+
#ifdef LIBXML_THREAD_ALLOC_ENABLED
|
74
|
+
#define XML_GLOBALS_ALLOC \
|
75
|
+
XML_OP(xmlMalloc, xmlMallocFunc, XML_NO_ATTR) \
|
76
|
+
XML_OP(xmlMallocAtomic, xmlMallocFunc, XML_NO_ATTR) \
|
77
|
+
XML_OP(xmlRealloc, xmlReallocFunc, XML_NO_ATTR) \
|
78
|
+
XML_OP(xmlFree, xmlFreeFunc, XML_NO_ATTR) \
|
79
|
+
XML_OP(xmlMemStrdup, xmlStrdupFunc, XML_NO_ATTR)
|
80
|
+
#define XML_OP XML_DECLARE_GLOBAL
|
81
|
+
XML_GLOBALS_ALLOC
|
82
|
+
#undef XML_OP
|
83
|
+
#if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION)
|
84
|
+
#define xmlMalloc XML_GLOBAL_MACRO(xmlMalloc)
|
85
|
+
#define xmlMallocAtomic XML_GLOBAL_MACRO(xmlMallocAtomic)
|
86
|
+
#define xmlRealloc XML_GLOBAL_MACRO(xmlRealloc)
|
87
|
+
#define xmlFree XML_GLOBAL_MACRO(xmlFree)
|
88
|
+
#define xmlMemStrdup XML_GLOBAL_MACRO(xmlMemStrdup)
|
89
|
+
#endif
|
90
|
+
#else
|
91
|
+
#define XML_GLOBALS_ALLOC
|
92
|
+
/** DOC_ENABLE */
|
93
|
+
XMLPUBVAR xmlMallocFunc xmlMalloc;
|
94
|
+
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
|
95
|
+
XMLPUBVAR xmlReallocFunc xmlRealloc;
|
96
|
+
XMLPUBVAR xmlFreeFunc xmlFree;
|
97
|
+
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
|
98
|
+
#endif
|
99
|
+
|
100
|
+
/*
|
101
|
+
* The way to overload the existing functions.
|
102
|
+
* The xmlGc function have an extra entry for atomic block
|
103
|
+
* allocations useful for garbage collected memory allocators
|
104
|
+
*/
|
105
|
+
XMLPUBFUN int
|
106
|
+
xmlMemSetup (xmlFreeFunc freeFunc,
|
107
|
+
xmlMallocFunc mallocFunc,
|
108
|
+
xmlReallocFunc reallocFunc,
|
109
|
+
xmlStrdupFunc strdupFunc);
|
110
|
+
XMLPUBFUN int
|
111
|
+
xmlMemGet (xmlFreeFunc *freeFunc,
|
112
|
+
xmlMallocFunc *mallocFunc,
|
113
|
+
xmlReallocFunc *reallocFunc,
|
114
|
+
xmlStrdupFunc *strdupFunc);
|
115
|
+
XMLPUBFUN int
|
116
|
+
xmlGcMemSetup (xmlFreeFunc freeFunc,
|
117
|
+
xmlMallocFunc mallocFunc,
|
118
|
+
xmlMallocFunc mallocAtomicFunc,
|
119
|
+
xmlReallocFunc reallocFunc,
|
120
|
+
xmlStrdupFunc strdupFunc);
|
121
|
+
XMLPUBFUN int
|
122
|
+
xmlGcMemGet (xmlFreeFunc *freeFunc,
|
123
|
+
xmlMallocFunc *mallocFunc,
|
124
|
+
xmlMallocFunc *mallocAtomicFunc,
|
125
|
+
xmlReallocFunc *reallocFunc,
|
126
|
+
xmlStrdupFunc *strdupFunc);
|
127
|
+
|
128
|
+
/*
|
129
|
+
* Initialization of the memory layer.
|
130
|
+
*/
|
131
|
+
XML_DEPRECATED
|
132
|
+
XMLPUBFUN int
|
133
|
+
xmlInitMemory (void);
|
134
|
+
|
135
|
+
/*
|
136
|
+
* Cleanup of the memory layer.
|
137
|
+
*/
|
138
|
+
XML_DEPRECATED
|
139
|
+
XMLPUBFUN void
|
140
|
+
xmlCleanupMemory (void);
|
141
|
+
/*
|
142
|
+
* These are specific to the XML debug memory wrapper.
|
143
|
+
*/
|
144
|
+
XMLPUBFUN size_t
|
145
|
+
xmlMemSize (void *ptr);
|
146
|
+
XMLPUBFUN int
|
147
|
+
xmlMemUsed (void);
|
148
|
+
XMLPUBFUN int
|
149
|
+
xmlMemBlocks (void);
|
150
|
+
XML_DEPRECATED
|
151
|
+
XMLPUBFUN void
|
152
|
+
xmlMemDisplay (FILE *fp);
|
153
|
+
XML_DEPRECATED
|
154
|
+
XMLPUBFUN void
|
155
|
+
xmlMemDisplayLast(FILE *fp, long nbBytes);
|
156
|
+
XML_DEPRECATED
|
157
|
+
XMLPUBFUN void
|
158
|
+
xmlMemShow (FILE *fp, int nr);
|
159
|
+
XML_DEPRECATED
|
160
|
+
XMLPUBFUN void
|
161
|
+
xmlMemoryDump (void);
|
162
|
+
XMLPUBFUN void *
|
163
|
+
xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
|
164
|
+
XMLPUBFUN void *
|
165
|
+
xmlMemRealloc (void *ptr,size_t size);
|
166
|
+
XMLPUBFUN void
|
167
|
+
xmlMemFree (void *ptr);
|
168
|
+
XMLPUBFUN char *
|
169
|
+
xmlMemoryStrdup (const char *str);
|
170
|
+
XML_DEPRECATED
|
171
|
+
XMLPUBFUN void *
|
172
|
+
xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
|
173
|
+
XML_DEPRECATED
|
174
|
+
XMLPUBFUN void *
|
175
|
+
xmlReallocLoc (void *ptr, size_t size, const char *file, int line);
|
176
|
+
XML_DEPRECATED
|
177
|
+
XMLPUBFUN void *
|
178
|
+
xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
|
179
|
+
XML_DEPRECATED
|
180
|
+
XMLPUBFUN char *
|
181
|
+
xmlMemStrdupLoc (const char *str, const char *file, int line);
|
182
|
+
|
183
|
+
#ifdef __cplusplus
|
184
|
+
}
|
185
|
+
#endif /* __cplusplus */
|
186
|
+
|
187
|
+
#endif /* __DEBUG_MEMORY_ALLOC__ */
|
188
|
+
|
@@ -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 xmlModuleOpen (const char *filename,
|
41
|
+
int options);
|
42
|
+
|
43
|
+
XMLPUBFUN int xmlModuleSymbol (xmlModulePtr module,
|
44
|
+
const char* name,
|
45
|
+
void **result);
|
46
|
+
|
47
|
+
XMLPUBFUN int xmlModuleClose (xmlModulePtr module);
|
48
|
+
|
49
|
+
XMLPUBFUN int xmlModuleFree (xmlModulePtr module);
|
50
|
+
|
51
|
+
#ifdef __cplusplus
|
52
|
+
}
|
53
|
+
#endif
|
54
|
+
|
55
|
+
#endif /* LIBXML_MODULES_ENABLED */
|
56
|
+
|
57
|
+
#endif /*__XML_MODULE_H__ */
|