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

[email protected] (Nikita Popov)
Newsgroups php.cvs
Message-ID <[email protected]>
Commit:    2634b13e88e1b2be91cb06d041be15814b2b6082
Author:    Nikita Popov <[email protected]>         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===
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.