]> granicus.if.org Git - php/commitdiff
Deprecate parse_str() without second argument
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 1 Feb 2017 23:37:24 +0000 (00:37 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 3 Feb 2017 17:52:57 +0000 (18:52 +0100)
Zend/tests/bug73181.phpt
Zend/tests/parse_str_with_unpack.phpt
Zend/tests/this_in_parse_str.phpt
ext/standard/string.c
ext/standard/tests/strings/bug24208.phpt
ext/standard/tests/strings/parse_str_basic1.phpt
ext/standard/tests/strings/parse_str_basic2.phpt
ext/standard/tests/strings/parse_str_basic3.phpt
ext/standard/tests/strings/parse_str_basic4.phpt

index 2994e99b9f9d1da48a67cc6f5af834ef49b8e10a..3ab93ebf5b215ba4a6ab6b7bf01dd746277525c1 100644 (file)
@@ -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) ""
index 50b296d71029220ef5c2740d61a43f76f060bc81..8daa7113744046bc48bb5ee8f63d684e4934dc95 100644 (file)
@@ -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)
index 4540d282cc0f215ebc9eeabe40f0c3afa4457f46..0bd9064d60d790a1da5b4bfd1ae68e6718596a7e 100644 (file)
@@ -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')
index 3addfbd19d045a3000ad437514dd81c1a56d795b..c0120e1fc8988ec0b6f4dfb759ea5165d5de824b 100644 (file)
@@ -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);
index bed28d95c599bf5cae6d538ec6669f04c1b6f4b4..f85c9c1e54e65f5608435fd2d06659ac69229941 100644 (file)
@@ -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"
index 7a8fda80db5d5d296978bdbf56df3b2d845392b8..a1222814f71f49b4518529c6edc4dc02ddcdb399 100644 (file)
@@ -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===
index e42c9caaa4295c119b3bce921676a6761a4276a0..88a13ca387a77bdd33d041f8e177555fa6a4d59f 100644 (file)
@@ -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===
index 84f6a53bb19fb6254365b2f30dd4c5401f912897..a38395b8841227877e6a71b7a95318678d83b8e5 100644 (file)
Binary files a/ext/standard/tests/strings/parse_str_basic3.phpt and b/ext/standard/tests/strings/parse_str_basic3.phpt differ
index 894dbf0c2db379da375291784139ceb338a7fcb3..b6126e974bd95a02a081cb3625368a67b45684e0 100644 (file)
@@ -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===