From 0871797de74230cc2e11488e9f71548d79d9b747 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 22 Feb 2022 13:56:18 +0100 Subject: fix gh#65 yaml_parse_url method not working using patch from https://github.com/php/pecl-file_formats-yaml/pull/66 --- yaml-pr66.patch | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 yaml-pr66.patch (limited to 'yaml-pr66.patch') diff --git a/yaml-pr66.patch b/yaml-pr66.patch new file mode 100644 index 0000000..94e9c9e --- /dev/null +++ b/yaml-pr66.patch @@ -0,0 +1,137 @@ +From b3ba97abde6c503a305631649e8be01320078fb1 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Tue, 22 Feb 2022 11:57:38 +0100 +Subject: [PATCH 1/2] Fix #65 yaml_parse_url method not working + +--- + yaml.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/yaml.c b/yaml.c +index e06b145..4ca2cfe 100644 +--- a/yaml.c ++++ b/yaml.c +@@ -476,7 +476,6 @@ PHP_FUNCTION(yaml_parse_url) + + php_stream *stream = { 0 }; + zend_string *input; +- size_t size = 0; + + parser_state_t state; + zval yaml; +@@ -516,7 +515,7 @@ PHP_FUNCTION(yaml_parse_url) + } + + yaml_parser_initialize(&state.parser); +- yaml_parser_set_input_string(&state.parser, (unsigned char *)input, size); ++ yaml_parser_set_input_string(&state.parser, (unsigned char *)ZSTR_VAL(input), ZSTR_LEN(input)); + + if (pos < 0) { + php_yaml_read_all(&state, &ndocs, &yaml); + +From 2cd4463594345a8c844a86c33e3539f5a44f3156 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Tue, 22 Feb 2022 12:03:54 +0100 +Subject: [PATCH 2/2] add test for #65 + +--- + package.xml | 1 + + tests/yaml_parse_url_001.phpt | 89 +++++++++++++++++++++++++++++++++++ + 2 files changed, 90 insertions(+) + create mode 100644 tests/yaml_parse_url_001.phpt + +diff --git a/tests/yaml_parse_url_001.phpt b/tests/yaml_parse_url_001.phpt +new file mode 100644 +index 0000000..7c5efc4 +--- /dev/null ++++ b/tests/yaml_parse_url_001.phpt +@@ -0,0 +1,89 @@ ++--TEST-- ++yaml_parse_url - general ++--SKIPIF-- ++ ++--INI-- ++yaml.decode_timestamp=1 ++date.timezone=GMT ++--FILE-- ++ ++--EXPECT-- ++array(8) { ++ ["invoice"]=> ++ int(34843) ++ ["date"]=> ++ int(980208000) ++ ["bill-to"]=> ++ &array(3) { ++ ["given"]=> ++ string(5) "Chris" ++ ["family"]=> ++ string(6) "Dumars" ++ ["address"]=> ++ array(4) { ++ ["lines"]=> ++ string(27) "458 Walkman Dr. ++Suite #292 ++" ++ ["city"]=> ++ string(9) "Royal Oak" ++ ["state"]=> ++ string(2) "MI" ++ ["postal"]=> ++ int(48046) ++ } ++ } ++ ["ship-to"]=> ++ &array(3) { ++ ["given"]=> ++ string(5) "Chris" ++ ["family"]=> ++ string(6) "Dumars" ++ ["address"]=> ++ array(4) { ++ ["lines"]=> ++ string(27) "458 Walkman Dr. ++Suite #292 ++" ++ ["city"]=> ++ string(9) "Royal Oak" ++ ["state"]=> ++ string(2) "MI" ++ ["postal"]=> ++ int(48046) ++ } ++ } ++ ["product"]=> ++ array(2) { ++ [0]=> ++ array(4) { ++ ["sku"]=> ++ string(6) "BL394D" ++ ["quantity"]=> ++ int(4) ++ ["description"]=> ++ string(10) "Basketball" ++ ["price"]=> ++ float(450) ++ } ++ [1]=> ++ array(4) { ++ ["sku"]=> ++ string(7) "BL4438H" ++ ["quantity"]=> ++ int(1) ++ ["description"]=> ++ string(10) "Super Hoop" ++ ["price"]=> ++ float(2392) ++ } ++ } ++ ["tax"]=> ++ float(251.42) ++ ["total"]=> ++ float(4443.52) ++ ["comments"]=> ++ string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338." ++} -- cgit