nokogiri 1.15.2-x86_64-linux → 1.15.3-x86_64-linux

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a7cf0a044be4335bf3a9950d0b5ed35f123d06e200b5546dc5f32a403a60c16
4
- data.tar.gz: ae659357a047324d193b4934b553fa7540156b7629d3705eb75de071a2d21358
3
+ metadata.gz: b38de66f3c609aaa3b6a0c96aa43fb49015b7df3f86f6eb03f64c492610f5a79
4
+ data.tar.gz: e6fcfc5a21ead374d8d4205260d20a0d9c427b25b11ec1b6012429a407a1d592
5
5
  SHA512:
6
- metadata.gz: 82871e9c95e471206b1542e77426ad6c982fc7073d77323df39b5b3b50256f3bb63552fee113d906995e9a2f9d0de58c66592c4ca7914f94426d0e6d2badce5c
7
- data.tar.gz: 6d463f94fc59d58905e38364ca10e779e9023ed632406ff110ce1bcc18dcc137fb501be934637d7abb5226294080433da036dad16230dc14a8fb770a82c47844
6
+ metadata.gz: 2dbee861ba47d6e82cb373977d73d87823f790ec6aec7346e9da0359c4a6d43808de75f461f336f15173c5fd5ca0bd958a9c92bce8aafa8c1486ae4cbb65d13b
7
+ data.tar.gz: 5caf77ee8fe2d9b38ce89f0b8e3a115a496096720b91e220237178c08373e9a3557561568e403f1a15e52fb4551c0d0d2e3aa992950e0434d023d53a4c3e9d31
@@ -12,39 +12,45 @@ VALUE cNokogiriXmlCData;
12
12
  * raise a TypeError exception.
13
13
  */
14
14
  static VALUE
15
- new (int argc, VALUE *argv, VALUE klass)
15
+ rb_xml_cdata_s_new(int argc, VALUE *argv, VALUE klass)
16
16
  {
17
- xmlDocPtr xml_doc;
18
- xmlNodePtr node;
19
- VALUE doc;
20
- VALUE content;
21
- VALUE rest;
17
+ xmlDocPtr c_document;
18
+ xmlNodePtr c_node;
19
+ VALUE rb_document;
20
+ VALUE rb_content;
21
+ VALUE rb_rest;
22
22
  VALUE rb_node;
23
- xmlChar *content_str = NULL;
24
- int content_str_len = 0;
23
+ xmlChar *c_content = NULL;
24
+ int c_content_len = 0;
25
25
 
26
- rb_scan_args(argc, argv, "2*", &doc, &content, &rest);
26
+ rb_scan_args(argc, argv, "2*", &rb_document, &rb_content, &rb_rest);
27
27
 
28
- if (rb_obj_is_kind_of(doc, cNokogiriXmlDocument)) {
29
- xml_doc = noko_xml_document_unwrap(doc);
30
- } else {
28
+ if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) {
29
+ rb_raise(rb_eTypeError,
30
+ "expected first parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE,
31
+ rb_obj_class(rb_document));
32
+ }
33
+
34
+ if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) {
31
35
  xmlNodePtr deprecated_node_type_arg;
32
36
  // TODO: deprecate allowing Node
33
37
  NOKO_WARN_DEPRECATION("Passing a Node as the first parameter to CDATA.new is deprecated. Please pass a Document instead. This will become an error in a future release of Nokogiri.");
34
- Noko_Node_Get_Struct(doc, xmlNode, deprecated_node_type_arg);
35
- xml_doc = deprecated_node_type_arg->doc;
38
+ Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg);
39
+ c_document = deprecated_node_type_arg->doc;
40
+ } else {
41
+ c_document = noko_xml_document_unwrap(rb_document);
36
42
  }
37
43
 
38
- if (!NIL_P(content)) {
39
- content_str = (xmlChar *)StringValuePtr(content);
40
- content_str_len = RSTRING_LENINT(content);
44
+ if (!NIL_P(rb_content)) {
45
+ c_content = (xmlChar *)StringValuePtr(rb_content);
46
+ c_content_len = RSTRING_LENINT(rb_content);
41
47
  }
42
48
 
43
- node = xmlNewCDataBlock(xml_doc, content_str, content_str_len);
49
+ c_node = xmlNewCDataBlock(c_document, c_content, c_content_len);
44
50
 
45
- noko_xml_document_pin_node(node);
51
+ noko_xml_document_pin_node(c_node);
46
52
 
47
- rb_node = noko_xml_node_wrap(klass, node);
53
+ rb_node = noko_xml_node_wrap(klass, c_node);
48
54
  rb_obj_call_init(rb_node, argc, argv);
49
55
 
50
56
  if (rb_block_given_p()) { rb_yield(rb_node); }
@@ -61,5 +67,5 @@ noko_init_xml_cdata(void)
61
67
  */
62
68
  cNokogiriXmlCData = rb_define_class_under(mNokogiriXml, "CDATA", cNokogiriXmlText);
63
69
 
64
- rb_define_singleton_method(cNokogiriXmlCData, "new", new, -1);
70
+ rb_define_singleton_method(cNokogiriXmlCData, "new", rb_xml_cdata_s_new, -1);
65
71
  }
@@ -350,7 +350,7 @@ ok:
350
350
 
351
351
  xmlUnlinkNode(original_reparentee);
352
352
 
353
- if (prf != xmlAddPrevSibling && prf != xmlAddNextSibling
353
+ if (prf != xmlAddPrevSibling && prf != xmlAddNextSibling && prf != xmlAddChild
354
354
  && reparentee->type == XML_TEXT_NODE && pivot->next && pivot->next->type == XML_TEXT_NODE) {
355
355
  /*
356
356
  * libxml merges text nodes in a right-to-left fashion, meaning that if
@@ -203,7 +203,7 @@ read_memory(int argc, VALUE *argv, VALUE klass)
203
203
  * [Returns] Nokogiri::XML::Schema
204
204
  */
205
205
  static VALUE
206
- from_document(int argc, VALUE *argv, VALUE klass)
206
+ rb_xml_schema_s_from_document(int argc, VALUE *argv, VALUE klass)
207
207
  {
208
208
  VALUE rb_document;
209
209
  VALUE rb_parse_options;
@@ -214,14 +214,20 @@ from_document(int argc, VALUE *argv, VALUE klass)
214
214
 
215
215
  rb_scan_args(argc, argv, "11", &rb_document, &rb_parse_options);
216
216
 
217
- if (rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) {
218
- c_document = noko_xml_document_unwrap(rb_document);
219
- } else {
217
+ if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) {
218
+ rb_raise(rb_eTypeError,
219
+ "expected parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE,
220
+ rb_obj_class(rb_document));
221
+ }
222
+
223
+ if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) {
220
224
  xmlNodePtr deprecated_node_type_arg;
221
225
  // TODO: deprecate allowing Node
222
226
  NOKO_WARN_DEPRECATION("Passing a Node as the first parameter to Schema.from_document is deprecated. Please pass a Document instead. This will become an error in a future release of Nokogiri.");
223
227
  Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg);
224
228
  c_document = deprecated_node_type_arg->doc;
229
+ } else {
230
+ c_document = noko_xml_document_unwrap(rb_document);
225
231
  }
226
232
 
227
233
  if (noko_xml_document_has_wrapped_blank_nodes_p(c_document)) {
@@ -249,7 +255,7 @@ noko_init_xml_schema(void)
249
255
  rb_undef_alloc_func(cNokogiriXmlSchema);
250
256
 
251
257
  rb_define_singleton_method(cNokogiriXmlSchema, "read_memory", read_memory, -1);
252
- rb_define_singleton_method(cNokogiriXmlSchema, "from_document", from_document, -1);
258
+ rb_define_singleton_method(cNokogiriXmlSchema, "from_document", rb_xml_schema_s_from_document, -1);
253
259
 
254
260
  rb_define_private_method(cNokogiriXmlSchema, "validate_document", validate_document, 1);
255
261
  rb_define_private_method(cNokogiriXmlSchema, "validate_file", validate_file, 1);
@@ -9,33 +9,39 @@ VALUE cNokogiriXmlText ;
9
9
  * Create a new Text element on the +document+ with +content+
10
10
  */
11
11
  static VALUE
12
- new (int argc, VALUE *argv, VALUE klass)
12
+ rb_xml_text_s_new(int argc, VALUE *argv, VALUE klass)
13
13
  {
14
- xmlDocPtr doc;
15
- xmlNodePtr node;
16
- VALUE string;
17
- VALUE document;
18
- VALUE rest;
14
+ xmlDocPtr c_document;
15
+ xmlNodePtr c_node;
16
+ VALUE rb_string;
17
+ VALUE rb_document;
18
+ VALUE rb_rest;
19
19
  VALUE rb_node;
20
20
 
21
- rb_scan_args(argc, argv, "2*", &string, &document, &rest);
21
+ rb_scan_args(argc, argv, "2*", &rb_string, &rb_document, &rb_rest);
22
22
 
23
- if (rb_obj_is_kind_of(document, cNokogiriXmlDocument)) {
24
- doc = noko_xml_document_unwrap(document);
25
- } else {
23
+ if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlNode)) {
24
+ rb_raise(rb_eTypeError,
25
+ "expected second parameter to be a Nokogiri::XML::Document, received %"PRIsVALUE,
26
+ rb_obj_class(rb_document));
27
+ }
28
+
29
+ if (!rb_obj_is_kind_of(rb_document, cNokogiriXmlDocument)) {
26
30
  xmlNodePtr deprecated_node_type_arg;
27
31
  // TODO: deprecate allowing Node
28
32
  NOKO_WARN_DEPRECATION("Passing a Node as the second parameter to Text.new is deprecated. Please pass a Document instead. This will become an error in a future release of Nokogiri.");
29
- Noko_Node_Get_Struct(document, xmlNode, deprecated_node_type_arg);
30
- doc = deprecated_node_type_arg->doc;
33
+ Noko_Node_Get_Struct(rb_document, xmlNode, deprecated_node_type_arg);
34
+ c_document = deprecated_node_type_arg->doc;
35
+ } else {
36
+ c_document = noko_xml_document_unwrap(rb_document);
31
37
  }
32
38
 
33
- node = xmlNewText((xmlChar *)StringValueCStr(string));
34
- node->doc = doc;
39
+ c_node = xmlNewText((xmlChar *)StringValueCStr(rb_string));
40
+ c_node->doc = c_document;
35
41
 
36
- noko_xml_document_pin_node(node);
42
+ noko_xml_document_pin_node(c_node);
37
43
 
38
- rb_node = noko_xml_node_wrap(klass, node) ;
44
+ rb_node = noko_xml_node_wrap(klass, c_node) ;
39
45
  rb_obj_call_init(rb_node, argc, argv);
40
46
 
41
47
  if (rb_block_given_p()) { rb_yield(rb_node); }
@@ -52,5 +58,5 @@ noko_init_xml_text(void)
52
58
  */
53
59
  cNokogiriXmlText = rb_define_class_under(mNokogiriXml, "Text", cNokogiriXmlCharacterData);
54
60
 
55
- rb_define_singleton_method(cNokogiriXmlText, "new", new, -1);
61
+ rb_define_singleton_method(cNokogiriXmlText, "new", rb_xml_text_s_new, -1);
56
62
  }
Binary file
Binary file
Binary file
Binary file
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Nokogiri
4
4
  # The version of Nokogiri you are using
5
- VERSION = "1.15.2"
5
+ VERSION = "1.15.3"
6
6
  end
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.15.2
4
+ version: 1.15.3
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Mike Dalessio
@@ -20,7 +20,7 @@ authors:
20
20
  autorequire:
21
21
  bindir: bin
22
22
  cert_chain: []
23
- date: 2023-05-24 00:00:00.000000000 Z
23
+ date: 2023-07-05 00:00:00.000000000 Z
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: racc