com php-src: Deprecate parse_str() without second a rgument: Zend/tests/bug73181.phpt Zend/tests/ parse_str_with_unpack.phpt Zend/tests/this_in_par
se_str.phpt ext/standard/string.c ext/standard/tests/ strings/bug24208.phpt ext/standard/tests/strings/ parse_str_basic1.phpt
ext/standard/tests/strings/pars e_str_basic2.phpt ext/standard/tests/strings/parse_ str_basic3.phpt ext/standard/tests/strings/parse_str _basic4.phpt
| From: | Nikita Popov | Date: | Fri, 03 Feb 2017 17:52:57 +0000 |
| Subject: | com php-src: Deprecate parse_str() without second a rgument: Zend/tests/bug73181.phpt Zend/tests/ parse_str_with_unpack.phpt Zend/tests/this_in_par se_str.phpt ext/standard/string.c ext/standard/tests/ strings/bug24208.phpt ext/standard/tests/strings/ parse_str_basic1.phpt ext/standard/tests/strings/pars e_str_basic2.phpt ext/standard/tests/strings/parse_ str_basic3.phpt ext/standard/tests/strings/parse_str _basic4.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-97017@lists.php.net to get a copy of this message | ||
Commit: 2634b13e88e1b2be91cb06d041be15814b2b6082
Author: Nikita Popov <nikita.ppv@gmail.com> Thu, 2 Feb 2017 00:37:24 +0100
Parents: 7a73c5f6bba386e0d82dd467e9dacceb10b851e3
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2634b13e88e1b2be91cb06d041be15814b2b6082
Log:
Deprecate parse_str() without second argument
Changed paths:
M Zend/tests/bug73181.phpt
M Zend/tests/parse_str_with_unpack.phpt
M Zend/tests/this_in_parse_str.phpt
M ext/standard/string.c
M ext/standard/tests/strings/bug24208.phpt
M ext/standard/tests/strings/parse_str_basic1.phpt
M ext/standard/tests/strings/parse_str_basic2.phpt
M ext/standard/tests/strings/parse_str_basic3.phpt
M ext/standard/tests/strings/parse_str_basic4.phpt
Diff:
diff --git a/Zend/tests/bug73181.phpt b/Zend/tests/bug73181.phpt
index 2994e99..3ab93eb 100644
--- a/Zend/tests/bug73181.phpt
+++ b/Zend/tests/bug73181.phpt
@@ -11,7 +11,8 @@ function x() {
x();
?>
---EXPECT--
+--EXPECTF--
+Deprecated: parse_str(): Calling parse_str() without the result argument is deprecated in %s on
line %d
array(2) {
[1]=>
string(0) ""
diff --git a/Zend/tests/parse_str_with_unpack.phpt b/Zend/tests/parse_str_with_unpack.phpt
index 50b296d..8daa711 100644
--- a/Zend/tests/parse_str_with_unpack.phpt
+++ b/Zend/tests/parse_str_with_unpack.phpt
@@ -11,5 +11,6 @@ function test() {
test();
?>
---EXPECT--
+--EXPECTF--
+Deprecated: parse_str(): Calling parse_str() without the result argument is deprecated in %s on
line %d
int(42)
diff --git a/Zend/tests/this_in_parse_str.phpt b/Zend/tests/this_in_parse_str.phpt
index 4540d28..0bd9064 100644
--- a/Zend/tests/this_in_parse_str.phpt
+++ b/Zend/tests/this_in_parse_str.phpt
@@ -9,6 +9,8 @@ function foo() {
foo();
?>
--EXPECTF--
+Deprecated: parse_str(): Calling parse_str() without the result argument is deprecated in %s on
line %d
+
Fatal error: Uncaught Error: Cannot re-assign $this in %sthis_in_parse_str.php:3
Stack trace:
#0 %sthis_in_parse_str.php(3): parse_str('this=42')
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 3addfbd..c0120e1 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -4563,6 +4563,8 @@ PHP_FUNCTION(parse_str)
return;
}
+ php_error_docref(NULL, E_DEPRECATED, "Calling parse_str() without the result argument is
deprecated");
+
symbol_table = zend_rebuild_symbol_table();
ZVAL_ARR(&tmp, symbol_table);
sapi_module.treat_data(PARSE_STRING, res, &tmp);
diff --git a/ext/standard/tests/strings/bug24208.phpt b/ext/standard/tests/strings/bug24208.phpt
index bed28d9..f85c9c1 100644
--- a/ext/standard/tests/strings/bug24208.phpt
+++ b/ext/standard/tests/strings/bug24208.phpt
@@ -6,7 +6,8 @@ $a = $b = $c = "oops";
parse_str("a=1&b=2&c=3");
var_dump($a, $b, $c);
?>
---EXPECT--
+--EXPECTF--
+Deprecated: parse_str(): Calling parse_str() without the result argument is deprecated in %s on
line %d
string(1) "1"
string(1) "2"
string(1) "3"
diff --git a/ext/standard/tests/strings/parse_str_basic1.phpt
b/ext/standard/tests/strings/parse_str_basic1.phpt
index 7a8fda8..a122281 100644
--- a/ext/standard/tests/strings/parse_str_basic1.phpt
+++ b/ext/standard/tests/strings/parse_str_basic1.phpt
@@ -36,6 +36,8 @@ var_dump($res3_array);
--EXPECTF--
*** Testing parse_str() : basic functionality ***
Basic test WITHOUT result arg
+
+Deprecated: parse_str(): Calling parse_str() without the result argument is deprecated in %s on
line %d
NULL
string(4) "val1"
string(4) "val2"
@@ -73,4 +75,4 @@ array(3) {
["third"]=>
string(4) "val3"
}
-===DONE===
\ No newline at end of file
+===DONE===
diff --git a/ext/standard/tests/strings/parse_str_basic2.phpt
b/ext/standard/tests/strings/parse_str_basic2.phpt
index e42c9ca..88a13ca 100644
--- a/ext/standard/tests/strings/parse_str_basic2.phpt
+++ b/ext/standard/tests/strings/parse_str_basic2.phpt
@@ -12,15 +12,20 @@ arg_separator.input = "/"
echo "*** Testing parse_str() : non-default arg_separator.input specified ***\n";
$s1 = "first=val1/second=val2/third=val3";
-var_dump(parse_str($s1));
-var_dump($first, $second, $third);
+var_dump(parse_str($s1, $result));
+var_dump($result);
?>
===DONE===
---EXPECTF--
+--EXPECT--
*** Testing parse_str() : non-default arg_separator.input specified ***
NULL
-string(4) "val1"
-string(4) "val2"
-string(4) "val3"
-===DONE===
\ No newline at end of file
+array(3) {
+ ["first"]=>
+ string(4) "val1"
+ ["second"]=>
+ string(4) "val2"
+ ["third"]=>
+ string(4) "val3"
+}
+===DONE===
diff --git a/ext/standard/tests/strings/parse_str_basic3.phpt
b/ext/standard/tests/strings/parse_str_basic3.phpt
index 84f6a53..a38395b 100644
Binary files a/ext/standard/tests/strings/parse_str_basic3.phpt and
b/ext/standard/tests/strings/parse_str_basic3.phpt differ
diff --git a/ext/standard/tests/strings/parse_str_basic4.phpt
b/ext/standard/tests/strings/parse_str_basic4.phpt
index 894dbf0..b6126e9 100644
--- a/ext/standard/tests/strings/parse_str_basic4.phpt
+++ b/ext/standard/tests/strings/parse_str_basic4.phpt
@@ -22,8 +22,8 @@ var_dump($res);
echo "\nTest string with badly formed % numbers\n";
$str = "first=%41&second=%a&third=%b";
-var_dump(parse_str($str));
-var_dump($first, $second, $third);
+var_dump(parse_str($str, $res));
+var_dump($res);
echo "\nTest string with non-binary safe name\n";
$str = "arr.test[1]=sid&arr test[4][two]=fred";
@@ -66,9 +66,14 @@ array(2) {
Test string with badly formed % numbers
NULL
-string(1) "A"
-string(2) "%a"
-string(2) "%b"
+array(3) {
+ ["first"]=>
+ string(1) "A"
+ ["second"]=>
+ string(2) "%a"
+ ["third"]=>
+ string(2) "%b"
+}
Test string with non-binary safe name
NULL
@@ -84,4 +89,4 @@ array(1) {
}
}
}
-===DONE===
\ No newline at end of file
+===DONE===