nokogiri 1.11.2 → 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/LICENSE-DEPENDENCIES.md +243 -22
- data/LICENSE.md +1 -1
- data/README.md +7 -6
- data/dependencies.yml +12 -12
- data/ext/nokogiri/depend +35 -34
- data/ext/nokogiri/extconf.rb +185 -103
- data/ext/nokogiri/gumbo.c +584 -0
- data/ext/nokogiri/{html_document.c → html4_document.c} +8 -8
- data/ext/nokogiri/{html_element_description.c → html4_element_description.c} +21 -19
- data/ext/nokogiri/{html_entity_lookup.c → html4_entity_lookup.c} +7 -7
- data/ext/nokogiri/{html_sax_parser_context.c → html4_sax_parser_context.c} +6 -5
- data/ext/nokogiri/{html_sax_push_parser.c → html4_sax_push_parser.c} +4 -4
- data/ext/nokogiri/libxml2_backwards_compat.c +30 -30
- data/ext/nokogiri/nokogiri.c +70 -38
- data/ext/nokogiri/nokogiri.h +19 -9
- data/ext/nokogiri/xml_document.c +50 -49
- data/ext/nokogiri/xml_element_content.c +2 -0
- data/ext/nokogiri/xml_encoding_handler.c +11 -6
- data/ext/nokogiri/xml_namespace.c +4 -2
- data/ext/nokogiri/xml_node.c +147 -133
- data/ext/nokogiri/xml_node_set.c +20 -20
- data/ext/nokogiri/xml_reader.c +2 -0
- data/ext/nokogiri/xml_sax_parser.c +6 -6
- data/ext/nokogiri/xml_sax_parser_context.c +2 -0
- data/ext/nokogiri/xml_schema.c +2 -0
- data/ext/nokogiri/xml_xpath_context.c +67 -65
- data/ext/nokogiri/xslt_stylesheet.c +2 -1
- 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/parser.rb +1 -1
- data/lib/nokogiri/css/parser.y +1 -1
- data/lib/nokogiri/css/syntax_error.rb +1 -1
- data/lib/nokogiri/css.rb +14 -14
- data/lib/nokogiri/extension.rb +7 -2
- data/lib/nokogiri/gumbo.rb +14 -0
- data/lib/nokogiri/html.rb +31 -27
- data/lib/nokogiri/{html → html4}/builder.rb +2 -2
- data/lib/nokogiri/{html → html4}/document.rb +4 -4
- data/lib/nokogiri/{html → html4}/document_fragment.rb +3 -3
- data/lib/nokogiri/{html → html4}/element_description.rb +1 -1
- data/lib/nokogiri/{html → html4}/element_description_defaults.rb +1 -1
- data/lib/nokogiri/{html → html4}/entity_lookup.rb +1 -1
- data/lib/nokogiri/{html → html4}/sax/parser.rb +11 -14
- data/lib/nokogiri/html4/sax/parser_context.rb +19 -0
- data/lib/nokogiri/{html → html4}/sax/push_parser.rb +5 -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/version/constant.rb +1 -1
- data/lib/nokogiri/version/info.rb +12 -2
- data/lib/nokogiri/xml/builder.rb +38 -0
- data/lib/nokogiri/xml/document.rb +89 -17
- data/lib/nokogiri/xml/node/save_options.rb +1 -1
- data/lib/nokogiri/xml/node.rb +7 -5
- data/lib/nokogiri/xml/parse_options.rb +2 -0
- data/lib/nokogiri/xml/pp.rb +2 -2
- data/lib/nokogiri/xml/sax/document.rb +24 -30
- data/lib/nokogiri/xml/sax.rb +4 -4
- data/lib/nokogiri/xml/xpath.rb +2 -2
- data/lib/nokogiri/xml.rb +35 -36
- data/lib/nokogiri/xslt/stylesheet.rb +1 -1
- data/lib/nokogiri/xslt.rb +16 -16
- data/lib/nokogiri.rb +31 -29
- 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/{0008-use-glibc-strlen.patch → 0004-use-glibc-strlen.patch} +0 -0
- data/patches/libxml2/{0009-avoid-isnan-isinf.patch → 0005-avoid-isnan-isinf.patch} +4 -4
- 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 +110 -69
- data/lib/nokogiri/html/sax/parser_context.rb +0 -17
- 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/patches/libxml2/0006-htmlParseComment-treat-as-if-it-closed-the-comment.patch +0 -73
- data/patches/libxml2/0007-use-new-htmlParseLookupCommentEnd-to-find-comment-en.patch +0 -103
- data/patches/libxml2/0010-parser.c-shrink-the-input-buffer-when-appropriate.patch +0 -70
- 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
|