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 @@ -474,7 +474,6 @@ PHP_FUNCTION(yaml_parse_url) php_stream *stream = { 0 }; zend_string *input; - size_t size = 0; parser_state_t state; zval yaml; @@ -514,7 +513,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 TSRMLS_CC); 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." +}