nokogiri 1.10.9 → 1.12.5
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 +4 -4
- data/Gemfile +3 -0
- data/LICENSE-DEPENDENCIES.md +1173 -884
- data/LICENSE.md +1 -1
- data/README.md +176 -96
- data/dependencies.yml +12 -12
- data/ext/nokogiri/depend +38 -358
- data/ext/nokogiri/extconf.rb +716 -414
- data/ext/nokogiri/gumbo.c +584 -0
- data/ext/nokogiri/html4_document.c +166 -0
- data/ext/nokogiri/html4_element_description.c +294 -0
- data/ext/nokogiri/html4_entity_lookup.c +37 -0
- data/ext/nokogiri/html4_sax_parser_context.c +120 -0
- data/ext/nokogiri/html4_sax_push_parser.c +95 -0
- data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
- data/ext/nokogiri/nokogiri.c +228 -91
- data/ext/nokogiri/nokogiri.h +191 -89
- data/ext/nokogiri/test_global_handlers.c +40 -0
- data/ext/nokogiri/xml_attr.c +15 -15
- data/ext/nokogiri/xml_attribute_decl.c +18 -18
- data/ext/nokogiri/xml_cdata.c +13 -18
- data/ext/nokogiri/xml_comment.c +19 -26
- data/ext/nokogiri/xml_document.c +267 -195
- data/ext/nokogiri/xml_document_fragment.c +13 -15
- data/ext/nokogiri/xml_dtd.c +54 -48
- data/ext/nokogiri/xml_element_content.c +31 -26
- data/ext/nokogiri/xml_element_decl.c +22 -22
- data/ext/nokogiri/xml_encoding_handler.c +28 -17
- data/ext/nokogiri/xml_entity_decl.c +32 -30
- data/ext/nokogiri/xml_entity_reference.c +16 -18
- data/ext/nokogiri/xml_namespace.c +60 -51
- data/ext/nokogiri/xml_node.c +493 -407
- data/ext/nokogiri/xml_node_set.c +174 -162
- data/ext/nokogiri/xml_processing_instruction.c +17 -19
- data/ext/nokogiri/xml_reader.c +197 -172
- data/ext/nokogiri/xml_relax_ng.c +52 -28
- data/ext/nokogiri/xml_sax_parser.c +112 -112
- data/ext/nokogiri/xml_sax_parser_context.c +105 -86
- data/ext/nokogiri/xml_sax_push_parser.c +36 -27
- data/ext/nokogiri/xml_schema.c +96 -46
- data/ext/nokogiri/xml_syntax_error.c +42 -21
- data/ext/nokogiri/xml_text.c +13 -17
- data/ext/nokogiri/xml_xpath_context.c +158 -73
- data/ext/nokogiri/xslt_stylesheet.c +158 -164
- data/gumbo-parser/CHANGES.md +63 -0
- data/gumbo-parser/Makefile +101 -0
- data/gumbo-parser/THANKS +27 -0
- data/gumbo-parser/src/Makefile +34 -0
- data/gumbo-parser/src/README.md +41 -0
- data/gumbo-parser/src/ascii.c +75 -0
- data/gumbo-parser/src/ascii.h +115 -0
- data/gumbo-parser/src/attribute.c +42 -0
- data/gumbo-parser/src/attribute.h +17 -0
- data/gumbo-parser/src/char_ref.c +22225 -0
- data/gumbo-parser/src/char_ref.h +29 -0
- data/gumbo-parser/src/char_ref.rl +2154 -0
- data/gumbo-parser/src/error.c +626 -0
- data/gumbo-parser/src/error.h +148 -0
- data/gumbo-parser/src/foreign_attrs.c +104 -0
- data/gumbo-parser/src/foreign_attrs.gperf +27 -0
- data/gumbo-parser/src/gumbo.h +943 -0
- data/gumbo-parser/src/insertion_mode.h +33 -0
- data/gumbo-parser/src/macros.h +91 -0
- data/gumbo-parser/src/parser.c +4886 -0
- data/gumbo-parser/src/parser.h +41 -0
- data/gumbo-parser/src/replacement.h +33 -0
- data/gumbo-parser/src/string_buffer.c +103 -0
- data/gumbo-parser/src/string_buffer.h +68 -0
- data/gumbo-parser/src/string_piece.c +48 -0
- data/gumbo-parser/src/svg_attrs.c +174 -0
- data/gumbo-parser/src/svg_attrs.gperf +77 -0
- data/gumbo-parser/src/svg_tags.c +137 -0
- data/gumbo-parser/src/svg_tags.gperf +55 -0
- data/gumbo-parser/src/tag.c +222 -0
- data/gumbo-parser/src/tag_lookup.c +382 -0
- data/gumbo-parser/src/tag_lookup.gperf +169 -0
- data/gumbo-parser/src/tag_lookup.h +13 -0
- data/gumbo-parser/src/token_buffer.c +79 -0
- data/gumbo-parser/src/token_buffer.h +71 -0
- data/gumbo-parser/src/token_type.h +17 -0
- data/gumbo-parser/src/tokenizer.c +3463 -0
- data/gumbo-parser/src/tokenizer.h +112 -0
- data/gumbo-parser/src/tokenizer_states.h +339 -0
- data/gumbo-parser/src/utf8.c +245 -0
- data/gumbo-parser/src/utf8.h +164 -0
- data/gumbo-parser/src/util.c +68 -0
- data/gumbo-parser/src/util.h +30 -0
- data/gumbo-parser/src/vector.c +111 -0
- data/gumbo-parser/src/vector.h +45 -0
- data/lib/nokogiri/css/node.rb +1 -0
- data/lib/nokogiri/css/parser.rb +64 -63
- data/lib/nokogiri/css/parser.y +3 -3
- data/lib/nokogiri/css/parser_extras.rb +39 -36
- data/lib/nokogiri/css/syntax_error.rb +2 -1
- data/lib/nokogiri/css/tokenizer.rb +1 -0
- data/lib/nokogiri/css/xpath_visitor.rb +73 -43
- data/lib/nokogiri/css.rb +15 -14
- data/lib/nokogiri/decorators/slop.rb +1 -0
- data/lib/nokogiri/extension.rb +31 -0
- data/lib/nokogiri/gumbo.rb +14 -0
- data/lib/nokogiri/html.rb +32 -27
- data/lib/nokogiri/{html → html4}/builder.rb +3 -2
- data/lib/nokogiri/{html → html4}/document.rb +17 -30
- data/lib/nokogiri/{html → html4}/document_fragment.rb +18 -17
- data/lib/nokogiri/{html → html4}/element_description.rb +2 -1
- data/lib/nokogiri/{html → html4}/element_description_defaults.rb +2 -1
- data/lib/nokogiri/{html → html4}/entity_lookup.rb +2 -1
- data/lib/nokogiri/{html → html4}/sax/parser.rb +12 -14
- data/lib/nokogiri/html4/sax/parser_context.rb +19 -0
- data/lib/nokogiri/{html → html4}/sax/push_parser.rb +6 -5
- data/lib/nokogiri/html4.rb +40 -0
- data/lib/nokogiri/html5/document.rb +74 -0
- data/lib/nokogiri/html5/document_fragment.rb +80 -0
- data/lib/nokogiri/html5/node.rb +93 -0
- data/lib/nokogiri/html5.rb +473 -0
- data/lib/nokogiri/jruby/dependencies.rb +20 -0
- data/lib/nokogiri/syntax_error.rb +1 -0
- data/lib/nokogiri/version/constant.rb +5 -0
- data/lib/nokogiri/version/info.rb +215 -0
- data/lib/nokogiri/version.rb +3 -109
- data/lib/nokogiri/xml/attr.rb +1 -0
- data/lib/nokogiri/xml/attribute_decl.rb +1 -0
- data/lib/nokogiri/xml/builder.rb +41 -2
- data/lib/nokogiri/xml/cdata.rb +1 -0
- data/lib/nokogiri/xml/character_data.rb +1 -0
- data/lib/nokogiri/xml/document.rb +138 -41
- data/lib/nokogiri/xml/document_fragment.rb +5 -6
- data/lib/nokogiri/xml/dtd.rb +1 -0
- data/lib/nokogiri/xml/element_content.rb +1 -0
- data/lib/nokogiri/xml/element_decl.rb +1 -0
- data/lib/nokogiri/xml/entity_decl.rb +1 -0
- data/lib/nokogiri/xml/entity_reference.rb +1 -0
- data/lib/nokogiri/xml/namespace.rb +1 -0
- data/lib/nokogiri/xml/node/save_options.rb +2 -1
- data/lib/nokogiri/xml/node.rb +629 -293
- data/lib/nokogiri/xml/node_set.rb +1 -0
- data/lib/nokogiri/xml/notation.rb +1 -0
- data/lib/nokogiri/xml/parse_options.rb +12 -3
- data/lib/nokogiri/xml/pp/character_data.rb +1 -0
- data/lib/nokogiri/xml/pp/node.rb +1 -0
- data/lib/nokogiri/xml/pp.rb +3 -2
- data/lib/nokogiri/xml/processing_instruction.rb +1 -0
- data/lib/nokogiri/xml/reader.rb +9 -12
- data/lib/nokogiri/xml/relax_ng.rb +7 -2
- data/lib/nokogiri/xml/sax/document.rb +25 -30
- data/lib/nokogiri/xml/sax/parser.rb +1 -0
- data/lib/nokogiri/xml/sax/parser_context.rb +1 -0
- data/lib/nokogiri/xml/sax/push_parser.rb +1 -0
- data/lib/nokogiri/xml/sax.rb +5 -4
- data/lib/nokogiri/xml/schema.rb +13 -4
- data/lib/nokogiri/xml/searchable.rb +25 -16
- data/lib/nokogiri/xml/syntax_error.rb +1 -0
- data/lib/nokogiri/xml/text.rb +1 -0
- data/lib/nokogiri/xml/xpath/syntax_error.rb +2 -1
- data/lib/nokogiri/xml/xpath.rb +4 -5
- data/lib/nokogiri/xml/xpath_context.rb +1 -0
- data/lib/nokogiri/xml.rb +36 -36
- data/lib/nokogiri/xslt/stylesheet.rb +2 -1
- data/lib/nokogiri/xslt.rb +17 -16
- data/lib/nokogiri.rb +32 -51
- data/lib/xsd/xmlparser/nokogiri.rb +1 -0
- data/patches/libxml2/{0002-Remove-script-macro-support.patch → 0001-Remove-script-macro-support.patch} +0 -0
- data/patches/libxml2/{0003-Update-entities-to-remove-handling-of-ssi.patch → 0002-Update-entities-to-remove-handling-of-ssi.patch} +0 -0
- data/patches/libxml2/{0004-libxml2.la-is-in-top_builddir.patch → 0003-libxml2.la-is-in-top_builddir.patch} +1 -1
- data/patches/libxml2/0004-use-glibc-strlen.patch +53 -0
- data/patches/libxml2/0005-avoid-isnan-isinf.patch +81 -0
- data/patches/libxml2/0006-update-automake-files-for-arm64.patch +2511 -0
- data/patches/libxml2/0007-Fix-XPath-recursion-limit.patch +31 -0
- data/patches/libxslt/0001-update-automake-files-for-arm64.patch +2511 -0
- data/patches/libxslt/0002-Fix-xml2-config-check-in-configure-script.patch +19 -0
- data/ports/archives/libxml2-2.9.12.tar.gz +0 -0
- metadata +139 -161
- data/ext/nokogiri/html_document.c +0 -170
- data/ext/nokogiri/html_document.h +0 -10
- data/ext/nokogiri/html_element_description.c +0 -279
- data/ext/nokogiri/html_element_description.h +0 -10
- data/ext/nokogiri/html_entity_lookup.c +0 -32
- data/ext/nokogiri/html_entity_lookup.h +0 -8
- data/ext/nokogiri/html_sax_parser_context.c +0 -116
- data/ext/nokogiri/html_sax_parser_context.h +0 -11
- data/ext/nokogiri/html_sax_push_parser.c +0 -87
- data/ext/nokogiri/html_sax_push_parser.h +0 -9
- data/ext/nokogiri/xml_attr.h +0 -9
- data/ext/nokogiri/xml_attribute_decl.h +0 -9
- data/ext/nokogiri/xml_cdata.h +0 -9
- data/ext/nokogiri/xml_comment.h +0 -9
- data/ext/nokogiri/xml_document.h +0 -23
- data/ext/nokogiri/xml_document_fragment.h +0 -10
- data/ext/nokogiri/xml_dtd.h +0 -10
- data/ext/nokogiri/xml_element_content.h +0 -10
- data/ext/nokogiri/xml_element_decl.h +0 -9
- data/ext/nokogiri/xml_encoding_handler.h +0 -8
- data/ext/nokogiri/xml_entity_decl.h +0 -10
- data/ext/nokogiri/xml_entity_reference.h +0 -9
- data/ext/nokogiri/xml_io.c +0 -61
- data/ext/nokogiri/xml_io.h +0 -11
- data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
- data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
- data/ext/nokogiri/xml_namespace.h +0 -14
- data/ext/nokogiri/xml_node.h +0 -13
- data/ext/nokogiri/xml_node_set.h +0 -12
- data/ext/nokogiri/xml_processing_instruction.h +0 -9
- data/ext/nokogiri/xml_reader.h +0 -10
- data/ext/nokogiri/xml_relax_ng.h +0 -9
- data/ext/nokogiri/xml_sax_parser.h +0 -39
- data/ext/nokogiri/xml_sax_parser_context.h +0 -10
- data/ext/nokogiri/xml_sax_push_parser.h +0 -9
- data/ext/nokogiri/xml_schema.h +0 -9
- data/ext/nokogiri/xml_syntax_error.h +0 -13
- data/ext/nokogiri/xml_text.h +0 -9
- data/ext/nokogiri/xml_xpath_context.h +0 -10
- data/ext/nokogiri/xslt_stylesheet.h +0 -14
- data/lib/nokogiri/html/sax/parser_context.rb +0 -16
- data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
- data/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +0 -32
- data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
#ifndef GUMBO_INSERTION_MODE_H_
|
2
|
+
#define GUMBO_INSERTION_MODE_H_
|
3
|
+
|
4
|
+
// https://html.spec.whatwg.org/multipage/parsing.html#insertion-mode
|
5
|
+
// If new enum values are added, be sure to update the kTokenHandlers
|
6
|
+
// dispatch table in parser.c.
|
7
|
+
typedef enum {
|
8
|
+
GUMBO_INSERTION_MODE_INITIAL,
|
9
|
+
GUMBO_INSERTION_MODE_BEFORE_HTML,
|
10
|
+
GUMBO_INSERTION_MODE_BEFORE_HEAD,
|
11
|
+
GUMBO_INSERTION_MODE_IN_HEAD,
|
12
|
+
GUMBO_INSERTION_MODE_IN_HEAD_NOSCRIPT,
|
13
|
+
GUMBO_INSERTION_MODE_AFTER_HEAD,
|
14
|
+
GUMBO_INSERTION_MODE_IN_BODY,
|
15
|
+
GUMBO_INSERTION_MODE_TEXT,
|
16
|
+
GUMBO_INSERTION_MODE_IN_TABLE,
|
17
|
+
GUMBO_INSERTION_MODE_IN_TABLE_TEXT,
|
18
|
+
GUMBO_INSERTION_MODE_IN_CAPTION,
|
19
|
+
GUMBO_INSERTION_MODE_IN_COLUMN_GROUP,
|
20
|
+
GUMBO_INSERTION_MODE_IN_TABLE_BODY,
|
21
|
+
GUMBO_INSERTION_MODE_IN_ROW,
|
22
|
+
GUMBO_INSERTION_MODE_IN_CELL,
|
23
|
+
GUMBO_INSERTION_MODE_IN_SELECT,
|
24
|
+
GUMBO_INSERTION_MODE_IN_SELECT_IN_TABLE,
|
25
|
+
GUMBO_INSERTION_MODE_IN_TEMPLATE,
|
26
|
+
GUMBO_INSERTION_MODE_AFTER_BODY,
|
27
|
+
GUMBO_INSERTION_MODE_IN_FRAMESET,
|
28
|
+
GUMBO_INSERTION_MODE_AFTER_FRAMESET,
|
29
|
+
GUMBO_INSERTION_MODE_AFTER_AFTER_BODY,
|
30
|
+
GUMBO_INSERTION_MODE_AFTER_AFTER_FRAMESET
|
31
|
+
} GumboInsertionMode;
|
32
|
+
|
33
|
+
#endif // GUMBO_INSERTION_MODE_H_
|
@@ -0,0 +1,91 @@
|
|
1
|
+
#ifndef MACROS_H
|
2
|
+
#define MACROS_H
|
3
|
+
|
4
|
+
#if (!defined(__STDC_VERSION__) || !(__STDC_VERSION__ >= 199901L)) \
|
5
|
+
&& !defined(_WIN32) && !defined(__cplusplus)
|
6
|
+
# error C99 compiler required
|
7
|
+
#endif
|
8
|
+
|
9
|
+
#if defined(_WIN32)
|
10
|
+
# define inline __inline
|
11
|
+
# define __func__ __FUNCTION__
|
12
|
+
#endif
|
13
|
+
|
14
|
+
// Calculate the number of elements in an array.
|
15
|
+
// The extra division on the third line is a trick to help prevent
|
16
|
+
// passing a pointer to the first element of an array instead of a
|
17
|
+
// reference to the array itself.
|
18
|
+
#define ARRAY_COUNT(x) ( \
|
19
|
+
(sizeof(x) / sizeof((x)[0])) \
|
20
|
+
/ ((size_t)(!(sizeof(x) % sizeof((x)[0])))) \
|
21
|
+
)
|
22
|
+
|
23
|
+
#ifdef NDEBUG
|
24
|
+
#define UNUSED_IF_NDEBUG(x) (void)(x)
|
25
|
+
#else
|
26
|
+
#define UNUSED_IF_NDEBUG(x)
|
27
|
+
#endif
|
28
|
+
|
29
|
+
#ifdef __GNUC__
|
30
|
+
#define GNUC_AT_LEAST(major, minor) ( \
|
31
|
+
(__GNUC__ > major) \
|
32
|
+
|| ((__GNUC__ == major) && (__GNUC_MINOR__ >= minor)) )
|
33
|
+
#else
|
34
|
+
#define GNUC_AT_LEAST(major, minor) 0
|
35
|
+
#endif
|
36
|
+
|
37
|
+
#ifdef __has_attribute
|
38
|
+
#define HAS_ATTRIBUTE(x) __has_attribute(x)
|
39
|
+
#else
|
40
|
+
#define HAS_ATTRIBUTE(x) 0
|
41
|
+
#endif
|
42
|
+
|
43
|
+
#if GNUC_AT_LEAST(3, 0) || HAS_ATTRIBUTE(unused) || defined(__TINYC__)
|
44
|
+
#define UNUSED __attribute__((__unused__))
|
45
|
+
#else
|
46
|
+
#define UNUSED
|
47
|
+
#endif
|
48
|
+
|
49
|
+
#if GNUC_AT_LEAST(3, 0)
|
50
|
+
#define MALLOC __attribute__((__malloc__))
|
51
|
+
#define PRINTF(x) __attribute__((__format__(__printf__, (x), (x + 1))))
|
52
|
+
#define PURE __attribute__((__pure__))
|
53
|
+
#define CONST_FN __attribute__((__const__))
|
54
|
+
#else
|
55
|
+
#define MALLOC
|
56
|
+
#define PRINTF(x)
|
57
|
+
#define PURE
|
58
|
+
#define CONST_FN
|
59
|
+
#endif
|
60
|
+
|
61
|
+
#define UNUSED_ARG(x) unused__ ## x UNUSED
|
62
|
+
|
63
|
+
#if GNUC_AT_LEAST(3, 0) && defined(__OPTIMIZE__)
|
64
|
+
#define likely(x) __builtin_expect(!!(x), 1)
|
65
|
+
#define unlikely(x) __builtin_expect(!!(x), 0)
|
66
|
+
#else
|
67
|
+
#define likely(x) (x)
|
68
|
+
#define unlikely(x) (x)
|
69
|
+
#endif
|
70
|
+
|
71
|
+
#if GNUC_AT_LEAST(3, 3) || HAS_ATTRIBUTE(nonnull)
|
72
|
+
#define NONNULL_ARGS __attribute__((__nonnull__))
|
73
|
+
#else
|
74
|
+
#define NONNULL_ARGS
|
75
|
+
#endif
|
76
|
+
|
77
|
+
#if GNUC_AT_LEAST(3, 4) || HAS_ATTRIBUTE(warn_unused_result)
|
78
|
+
#define WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
|
79
|
+
#else
|
80
|
+
#define WARN_UNUSED_RESULT
|
81
|
+
#endif
|
82
|
+
|
83
|
+
#if GNUC_AT_LEAST(5, 0) || HAS_ATTRIBUTE(returns_nonnull)
|
84
|
+
#define RETURNS_NONNULL __attribute__((__returns_nonnull__))
|
85
|
+
#else
|
86
|
+
#define RETURNS_NONNULL
|
87
|
+
#endif
|
88
|
+
|
89
|
+
#define XMALLOC MALLOC RETURNS_NONNULL
|
90
|
+
|
91
|
+
#endif // ndef MACROS_H
|