nokogiri 1.11.1 → 1.11.6

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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE-DEPENDENCIES.md +12 -12
  3. data/LICENSE.md +1 -1
  4. data/README.md +21 -16
  5. data/dependencies.yml +12 -12
  6. data/ext/nokogiri/depend +34 -474
  7. data/ext/nokogiri/extconf.rb +253 -183
  8. data/ext/nokogiri/html_document.c +10 -15
  9. data/ext/nokogiri/html_element_description.c +84 -71
  10. data/ext/nokogiri/html_entity_lookup.c +21 -16
  11. data/ext/nokogiri/html_sax_parser_context.c +66 -65
  12. data/ext/nokogiri/html_sax_push_parser.c +29 -27
  13. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  14. data/ext/nokogiri/nokogiri.c +190 -63
  15. data/ext/nokogiri/nokogiri.h +158 -75
  16. data/ext/nokogiri/test_global_handlers.c +3 -4
  17. data/ext/nokogiri/xml_attr.c +15 -15
  18. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  19. data/ext/nokogiri/xml_cdata.c +13 -18
  20. data/ext/nokogiri/xml_comment.c +19 -26
  21. data/ext/nokogiri/xml_document.c +246 -188
  22. data/ext/nokogiri/xml_document_fragment.c +13 -15
  23. data/ext/nokogiri/xml_dtd.c +54 -48
  24. data/ext/nokogiri/xml_element_content.c +30 -27
  25. data/ext/nokogiri/xml_element_decl.c +22 -22
  26. data/ext/nokogiri/xml_encoding_handler.c +17 -11
  27. data/ext/nokogiri/xml_entity_decl.c +32 -30
  28. data/ext/nokogiri/xml_entity_reference.c +16 -18
  29. data/ext/nokogiri/xml_namespace.c +56 -49
  30. data/ext/nokogiri/xml_node.c +385 -326
  31. data/ext/nokogiri/xml_node_set.c +168 -156
  32. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  33. data/ext/nokogiri/xml_reader.c +191 -157
  34. data/ext/nokogiri/xml_relax_ng.c +29 -23
  35. data/ext/nokogiri/xml_sax_parser.c +117 -112
  36. data/ext/nokogiri/xml_sax_parser_context.c +100 -85
  37. data/ext/nokogiri/xml_sax_push_parser.c +34 -27
  38. data/ext/nokogiri/xml_schema.c +48 -42
  39. data/ext/nokogiri/xml_syntax_error.c +21 -23
  40. data/ext/nokogiri/xml_text.c +13 -17
  41. data/ext/nokogiri/xml_xpath_context.c +134 -127
  42. data/ext/nokogiri/xslt_stylesheet.c +157 -157
  43. data/lib/nokogiri.rb +1 -22
  44. data/lib/nokogiri/css/parser.rb +1 -1
  45. data/lib/nokogiri/extension.rb +26 -0
  46. data/lib/nokogiri/html/document_fragment.rb +15 -15
  47. data/lib/nokogiri/version/constant.rb +1 -1
  48. data/lib/nokogiri/version/info.rb +32 -8
  49. data/lib/nokogiri/xml/document.rb +74 -28
  50. data/lib/nokogiri/xml/node.rb +39 -42
  51. data/lib/nokogiri/xml/reader.rb +2 -9
  52. data/lib/nokogiri/xml/xpath.rb +1 -3
  53. data/lib/nokogiri/xml/xpath/syntax_error.rb +1 -1
  54. data/patches/libxml2/{0002-Remove-script-macro-support.patch → 0001-Remove-script-macro-support.patch} +0 -0
  55. data/patches/libxml2/{0003-Update-entities-to-remove-handling-of-ssi.patch → 0002-Update-entities-to-remove-handling-of-ssi.patch} +0 -0
  56. data/patches/libxml2/{0004-libxml2.la-is-in-top_builddir.patch → 0003-libxml2.la-is-in-top_builddir.patch} +1 -1
  57. data/patches/libxml2/{0008-use-glibc-strlen.patch → 0004-use-glibc-strlen.patch} +0 -0
  58. data/patches/libxml2/{0009-avoid-isnan-isinf.patch → 0005-avoid-isnan-isinf.patch} +4 -4
  59. data/patches/libxml2/0006-update-automake-files-for-arm64.patch +2511 -0
  60. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +2511 -0
  61. data/patches/libxslt/0002-Fix-xml2-config-check-in-configure-script.patch +19 -0
  62. data/ports/archives/libxml2-2.9.12.tar.gz +0 -0
  63. metadata +16 -51
  64. data/ext/nokogiri/html_document.h +0 -10
  65. data/ext/nokogiri/html_element_description.h +0 -10
  66. data/ext/nokogiri/html_entity_lookup.h +0 -8
  67. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  68. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  69. data/ext/nokogiri/xml_attr.h +0 -9
  70. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  71. data/ext/nokogiri/xml_cdata.h +0 -9
  72. data/ext/nokogiri/xml_comment.h +0 -9
  73. data/ext/nokogiri/xml_document.h +0 -23
  74. data/ext/nokogiri/xml_document_fragment.h +0 -10
  75. data/ext/nokogiri/xml_dtd.h +0 -10
  76. data/ext/nokogiri/xml_element_content.h +0 -10
  77. data/ext/nokogiri/xml_element_decl.h +0 -9
  78. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  79. data/ext/nokogiri/xml_entity_decl.h +0 -10
  80. data/ext/nokogiri/xml_entity_reference.h +0 -9
  81. data/ext/nokogiri/xml_io.c +0 -63
  82. data/ext/nokogiri/xml_io.h +0 -11
  83. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  84. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  85. data/ext/nokogiri/xml_namespace.h +0 -14
  86. data/ext/nokogiri/xml_node.h +0 -13
  87. data/ext/nokogiri/xml_node_set.h +0 -12
  88. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  89. data/ext/nokogiri/xml_reader.h +0 -10
  90. data/ext/nokogiri/xml_relax_ng.h +0 -9
  91. data/ext/nokogiri/xml_sax_parser.h +0 -39
  92. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  93. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  94. data/ext/nokogiri/xml_schema.h +0 -9
  95. data/ext/nokogiri/xml_syntax_error.h +0 -25
  96. data/ext/nokogiri/xml_text.h +0 -9
  97. data/ext/nokogiri/xml_xpath_context.h +0 -10
  98. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  99. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  100. data/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +0 -32
  101. data/patches/libxml2/0006-htmlParseComment-treat-as-if-it-closed-the-comment.patch +0 -73
  102. data/patches/libxml2/0007-use-new-htmlParseLookupCommentEnd-to-find-comment-en.patch +0 -103
  103. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
@@ -0,0 +1,19 @@
1
+ From: Nick Wellnhofer <wellnhofer@aevum.de>
2
+ Date: Fri, 15 Nov 2019 11:53:11 +0100
3
+ Subject: [PATCH] Fix xml2-config check in configure script
4
+
5
+ A 'print' option has never been supported. After a recent change to
6
+ libxml2, invalid options cause xml2-config to fail.
7
+ diff --git a/configure b/configure
8
+ index c63adc5..6061227 100755
9
+ --- a/configure
10
+ +++ b/configure
11
+ @@ -14860,7 +14860,7 @@ PKG_CONFIG=$_save_PKG_CONFIG
12
+ fi
13
+
14
+
15
+ -if test "x$LIBXML_LIBS" = "x" && ${XML_CONFIG} --libs print > /dev/null 2>&1
16
+ +if test "x$LIBXML_LIBS" = "x" && ${XML_CONFIG} --libs > /dev/null 2>&1
17
+ then
18
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml libraries >= $LIBXML_REQUIRED_VERSION" >&5
19
+ $as_echo_n "checking for libxml libraries >= $LIBXML_REQUIRED_VERSION... " >&6; }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.1
4
+ version: 1.11.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Dalessio
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
- date: 2021-01-06 00:00:00.000000000 Z
20
+ date: 2021-05-26 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: racc
@@ -81,14 +81,14 @@ dependencies:
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '1.1'
84
+ version: '1.4'
85
85
  type: :development
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '1.1'
91
+ version: '1.4'
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: minitest
94
94
  requirement: !ruby/object:Gem::Requirement
@@ -228,17 +228,16 @@ extra_rdoc_files:
228
228
  - ext/nokogiri/xml_dtd.c
229
229
  - ext/nokogiri/xml_xpath_context.c
230
230
  - ext/nokogiri/xml_attr.c
231
+ - ext/nokogiri/libxml2_backwards_compat.c
231
232
  - ext/nokogiri/xml_comment.c
232
233
  - ext/nokogiri/nokogiri.c
233
234
  - ext/nokogiri/xml_sax_parser_context.c
234
235
  - ext/nokogiri/xml_node_set.c
235
236
  - ext/nokogiri/xml_reader.c
236
- - ext/nokogiri/xml_libxml2_hacks.c
237
237
  - ext/nokogiri/xml_cdata.c
238
238
  - ext/nokogiri/xml_element_content.c
239
239
  - ext/nokogiri/html_entity_lookup.c
240
240
  - ext/nokogiri/xml_namespace.c
241
- - ext/nokogiri/xml_io.c
242
241
  - ext/nokogiri/xml_document.c
243
242
  - ext/nokogiri/xml_element_decl.c
244
243
  - ext/nokogiri/xml_schema.c
@@ -271,74 +270,40 @@ files:
271
270
  - ext/nokogiri/depend
272
271
  - ext/nokogiri/extconf.rb
273
272
  - ext/nokogiri/html_document.c
274
- - ext/nokogiri/html_document.h
275
273
  - ext/nokogiri/html_element_description.c
276
- - ext/nokogiri/html_element_description.h
277
274
  - ext/nokogiri/html_entity_lookup.c
278
- - ext/nokogiri/html_entity_lookup.h
279
275
  - ext/nokogiri/html_sax_parser_context.c
280
- - ext/nokogiri/html_sax_parser_context.h
281
276
  - ext/nokogiri/html_sax_push_parser.c
282
- - ext/nokogiri/html_sax_push_parser.h
277
+ - ext/nokogiri/libxml2_backwards_compat.c
283
278
  - ext/nokogiri/nokogiri.c
284
279
  - ext/nokogiri/nokogiri.h
285
280
  - ext/nokogiri/test_global_handlers.c
286
281
  - ext/nokogiri/xml_attr.c
287
- - ext/nokogiri/xml_attr.h
288
282
  - ext/nokogiri/xml_attribute_decl.c
289
- - ext/nokogiri/xml_attribute_decl.h
290
283
  - ext/nokogiri/xml_cdata.c
291
- - ext/nokogiri/xml_cdata.h
292
284
  - ext/nokogiri/xml_comment.c
293
- - ext/nokogiri/xml_comment.h
294
285
  - ext/nokogiri/xml_document.c
295
- - ext/nokogiri/xml_document.h
296
286
  - ext/nokogiri/xml_document_fragment.c
297
- - ext/nokogiri/xml_document_fragment.h
298
287
  - ext/nokogiri/xml_dtd.c
299
- - ext/nokogiri/xml_dtd.h
300
288
  - ext/nokogiri/xml_element_content.c
301
- - ext/nokogiri/xml_element_content.h
302
289
  - ext/nokogiri/xml_element_decl.c
303
- - ext/nokogiri/xml_element_decl.h
304
290
  - ext/nokogiri/xml_encoding_handler.c
305
- - ext/nokogiri/xml_encoding_handler.h
306
291
  - ext/nokogiri/xml_entity_decl.c
307
- - ext/nokogiri/xml_entity_decl.h
308
292
  - ext/nokogiri/xml_entity_reference.c
309
- - ext/nokogiri/xml_entity_reference.h
310
- - ext/nokogiri/xml_io.c
311
- - ext/nokogiri/xml_io.h
312
- - ext/nokogiri/xml_libxml2_hacks.c
313
- - ext/nokogiri/xml_libxml2_hacks.h
314
293
  - ext/nokogiri/xml_namespace.c
315
- - ext/nokogiri/xml_namespace.h
316
294
  - ext/nokogiri/xml_node.c
317
- - ext/nokogiri/xml_node.h
318
295
  - ext/nokogiri/xml_node_set.c
319
- - ext/nokogiri/xml_node_set.h
320
296
  - ext/nokogiri/xml_processing_instruction.c
321
- - ext/nokogiri/xml_processing_instruction.h
322
297
  - ext/nokogiri/xml_reader.c
323
- - ext/nokogiri/xml_reader.h
324
298
  - ext/nokogiri/xml_relax_ng.c
325
- - ext/nokogiri/xml_relax_ng.h
326
299
  - ext/nokogiri/xml_sax_parser.c
327
- - ext/nokogiri/xml_sax_parser.h
328
300
  - ext/nokogiri/xml_sax_parser_context.c
329
- - ext/nokogiri/xml_sax_parser_context.h
330
301
  - ext/nokogiri/xml_sax_push_parser.c
331
- - ext/nokogiri/xml_sax_push_parser.h
332
302
  - ext/nokogiri/xml_schema.c
333
- - ext/nokogiri/xml_schema.h
334
303
  - ext/nokogiri/xml_syntax_error.c
335
- - ext/nokogiri/xml_syntax_error.h
336
304
  - ext/nokogiri/xml_text.c
337
- - ext/nokogiri/xml_text.h
338
305
  - ext/nokogiri/xml_xpath_context.c
339
- - ext/nokogiri/xml_xpath_context.h
340
306
  - ext/nokogiri/xslt_stylesheet.c
341
- - ext/nokogiri/xslt_stylesheet.h
342
307
  - lib/nokogiri.rb
343
308
  - lib/nokogiri/css.rb
344
309
  - lib/nokogiri/css/node.rb
@@ -350,6 +315,7 @@ files:
350
315
  - lib/nokogiri/css/tokenizer.rex
351
316
  - lib/nokogiri/css/xpath_visitor.rb
352
317
  - lib/nokogiri/decorators/slop.rb
318
+ - lib/nokogiri/extension.rb
353
319
  - lib/nokogiri/html.rb
354
320
  - lib/nokogiri/html/builder.rb
355
321
  - lib/nokogiri/html/document.rb
@@ -405,16 +371,15 @@ files:
405
371
  - lib/nokogiri/xslt.rb
406
372
  - lib/nokogiri/xslt/stylesheet.rb
407
373
  - lib/xsd/xmlparser/nokogiri.rb
408
- - patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch
409
- - patches/libxml2/0002-Remove-script-macro-support.patch
410
- - patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch
411
- - patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch
412
- - patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch
413
- - patches/libxml2/0006-htmlParseComment-treat-as-if-it-closed-the-comment.patch
414
- - patches/libxml2/0007-use-new-htmlParseLookupCommentEnd-to-find-comment-en.patch
415
- - patches/libxml2/0008-use-glibc-strlen.patch
416
- - patches/libxml2/0009-avoid-isnan-isinf.patch
417
- - ports/archives/libxml2-2.9.10.tar.gz
374
+ - patches/libxml2/0001-Remove-script-macro-support.patch
375
+ - patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch
376
+ - patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch
377
+ - patches/libxml2/0004-use-glibc-strlen.patch
378
+ - patches/libxml2/0005-avoid-isnan-isinf.patch
379
+ - patches/libxml2/0006-update-automake-files-for-arm64.patch
380
+ - patches/libxslt/0001-update-automake-files-for-arm64.patch
381
+ - patches/libxslt/0002-Fix-xml2-config-check-in-configure-script.patch
382
+ - ports/archives/libxml2-2.9.12.tar.gz
418
383
  - ports/archives/libxslt-1.1.34.tar.gz
419
384
  homepage: https://nokogiri.org
420
385
  licenses:
@@ -1,10 +0,0 @@
1
- #ifndef NOKOGIRI_HTML_DOCUMENT
2
- #define NOKOGIRI_HTML_DOCUMENT
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_html_document();
7
-
8
- extern VALUE cNokogiriHtmlDocument ;
9
-
10
- #endif
@@ -1,10 +0,0 @@
1
- #ifndef NOKOGIRI_HTML_ELEMENT_DESCRIPTION
2
- #define NOKOGIRI_HTML_ELEMENT_DESCRIPTION
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_html_element_description();
7
-
8
- extern VALUE cNokogiriHtmlElementDescription ;
9
-
10
- #endif
@@ -1,8 +0,0 @@
1
- #ifndef NOKOGIRI_HTML_ENTITY_LOOKUP
2
- #define NOKOGIRI_HTML_ENTITY_LOOKUP
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_html_entity_lookup();
7
-
8
- #endif
@@ -1,11 +0,0 @@
1
- #ifndef NOKOGIRI_HTML_SAX_PARSER_CONTEXT
2
- #define NOKOGIRI_HTML_SAX_PARSER_CONTEXT
3
-
4
- #include <nokogiri.h>
5
-
6
- extern VALUE cNokogiriHtmlSaxParserContext;
7
-
8
- void init_html_sax_parser_context();
9
-
10
- #endif
11
-
@@ -1,9 +0,0 @@
1
- #ifndef NOKOGIRI_HTML_SAX_PUSH_PARSER
2
- #define NOKOGIRI_HTML_SAX_PUSH_PARSER
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_html_sax_push_parser();
7
-
8
- extern VALUE cNokogiriHtmlSaxPushParser ;
9
- #endif
@@ -1,9 +0,0 @@
1
- #ifndef NOKOGIRI_XML_ATTR
2
- #define NOKOGIRI_XML_ATTR
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_attr();
7
-
8
- extern VALUE cNokogiriXmlAttr;
9
- #endif
@@ -1,9 +0,0 @@
1
- #ifndef NOKOGIRI_XML_ATTRIBUTE_DECL
2
- #define NOKOGIRI_XML_ATTRIBUTE_DECL
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_attribute_decl();
7
-
8
- extern VALUE cNokogiriXmlAttributeDecl;
9
- #endif
@@ -1,9 +0,0 @@
1
- #ifndef NOKOGIRI_XML_CDATA
2
- #define NOKOGIRI_XML_CDATA
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_cdata();
7
-
8
- extern VALUE cNokogiriXmlCData;
9
- #endif
@@ -1,9 +0,0 @@
1
- #ifndef NOKOGIRI_XML_COMMENT
2
- #define NOKOGIRI_XML_COMMENT
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_comment();
7
-
8
- extern VALUE cNokogiriXmlComment;
9
- #endif
@@ -1,23 +0,0 @@
1
- #ifndef NOKOGIRI_XML_DOCUMENT
2
- #define NOKOGIRI_XML_DOCUMENT
3
-
4
- #include <nokogiri.h>
5
-
6
- struct _nokogiriTuple {
7
- VALUE doc;
8
- st_table *unlinkedNodes;
9
- VALUE node_cache;
10
- };
11
- typedef struct _nokogiriTuple nokogiriTuple;
12
- typedef nokogiriTuple * nokogiriTuplePtr;
13
-
14
- void init_xml_document();
15
- VALUE Nokogiri_wrap_xml_document(VALUE klass, xmlDocPtr doc);
16
-
17
- #define DOC_RUBY_OBJECT_TEST(x) ((nokogiriTuplePtr)(x->_private))
18
- #define DOC_RUBY_OBJECT(x) (((nokogiriTuplePtr)(x->_private))->doc)
19
- #define DOC_UNLINKED_NODE_HASH(x) (((nokogiriTuplePtr)(x->_private))->unlinkedNodes)
20
- #define DOC_NODE_CACHE(x) (((nokogiriTuplePtr)(x->_private))->node_cache)
21
-
22
- extern VALUE cNokogiriXmlDocument ;
23
- #endif
@@ -1,10 +0,0 @@
1
- #ifndef NOKOGIRI_XML_DOCUMENT_FRAGMENT
2
- #define NOKOGIRI_XML_DOCUMENT_FRAGMENT
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_document_fragment();
7
-
8
- extern VALUE cNokogiriXmlDocumentFragment;
9
- #endif
10
-
@@ -1,10 +0,0 @@
1
- #ifndef NOKOGIRI_XML_DTD
2
- #define NOKOGIRI_XML_DTD
3
-
4
- #include <nokogiri.h>
5
-
6
- extern VALUE cNokogiriXmlDtd;
7
-
8
- void init_xml_dtd();
9
-
10
- #endif
@@ -1,10 +0,0 @@
1
- #ifndef NOKOGIRI_XML_ELEMENT_CONTENT
2
- #define NOKOGIRI_XML_ELEMENT_CONTENT
3
-
4
- #include <nokogiri.h>
5
-
6
-
7
- VALUE Nokogiri_wrap_element_content(VALUE doc, xmlElementContentPtr element);
8
- void init_xml_element_content();
9
-
10
- #endif
@@ -1,9 +0,0 @@
1
- #ifndef NOKOGIRI_XML_ELEMENT_DECL
2
- #define NOKOGIRI_XML_ELEMENT_DECL
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_element_decl();
7
-
8
- extern VALUE cNokogiriXmlElementDecl;
9
- #endif
@@ -1,8 +0,0 @@
1
- #ifndef NOKOGIRI_XML_ENCODING_HANDLER
2
- #define NOKOGIRI_XML_ENCODING_HANDLER
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_encoding_handler();
7
-
8
- #endif
@@ -1,10 +0,0 @@
1
- #ifndef NOKOGIRI_XML_ENTITY_DECL
2
- #define NOKOGIRI_XML_ENTITY_DECL
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_entity_decl();
7
-
8
- extern VALUE cNokogiriXmlEntityDecl;
9
- #endif
10
-
@@ -1,9 +0,0 @@
1
- #ifndef NOKOGIRI_XML_ENTITY_REFERENCE
2
- #define NOKOGIRI_XML_ENTITY_REFERENCE
3
-
4
- #include <nokogiri.h>
5
-
6
- void init_xml_entity_reference();
7
-
8
- extern VALUE cNokogiriXmlEntityReference;
9
- #endif
@@ -1,63 +0,0 @@
1
- #include <xml_io.h>
2
-
3
- static ID id_read, id_write;
4
-
5
- VALUE read_check(VALUE val) {
6
- VALUE *args = (VALUE *)val;
7
- return rb_funcall(args[0], id_read, 1, args[1]);
8
- }
9
-
10
- VALUE read_failed(VALUE arg, VALUE exc) {
11
- return Qundef;
12
- }
13
-
14
- int io_read_callback(void * ctx, char * buffer, int len) {
15
- VALUE string, args[2];
16
- size_t str_len, safe_len;
17
-
18
- args[0] = (VALUE)ctx;
19
- args[1] = INT2NUM(len);
20
-
21
- string = rb_rescue(read_check, (VALUE)args, read_failed, 0);
22
-
23
- if (NIL_P(string)) return 0;
24
- if (string == Qundef) return -1;
25
- if (TYPE(string) != T_STRING) return -1;
26
-
27
- str_len = (size_t)RSTRING_LEN(string);
28
- safe_len = str_len > (size_t)len ? (size_t)len : str_len;
29
- memcpy(buffer, StringValuePtr(string), safe_len);
30
-
31
- return (int)safe_len;
32
- }
33
-
34
- VALUE write_check(VALUE val) {
35
- VALUE *args = (VALUE *)val;
36
- return rb_funcall(args[0], id_write, 1, args[1]);
37
- }
38
-
39
- VALUE write_failed(VALUE arg, VALUE exc) {
40
- return Qundef;
41
- }
42
-
43
- int io_write_callback(void * ctx, char * buffer, int len) {
44
- VALUE args[2], size;
45
-
46
- args[0] = (VALUE)ctx;
47
- args[1] = rb_str_new(buffer, (long)len);
48
-
49
- size = rb_rescue(write_check, (VALUE)args, write_failed, 0);
50
-
51
- if (size == Qundef) return -1;
52
-
53
- return NUM2INT(size);
54
- }
55
-
56
- int io_close_callback(void * ctx) {
57
- return 0;
58
- }
59
-
60
- void init_nokogiri_io() {
61
- id_read = rb_intern("read");
62
- id_write = rb_intern("write");
63
- }