]> granicus.if.org Git - php/commitdiff
Promote warnings to errors in substr_count()
authorGeorge Peter Banyard <girgias@php.net>
Thu, 22 Aug 2019 10:27:06 +0000 (12:27 +0200)
committerGeorge Peter Banyard <girgias@php.net>
Sat, 31 Aug 2019 21:37:04 +0000 (23:37 +0200)
ext/standard/string.c
ext/standard/tests/strings/substr_count_basic.phpt

index 6a1da25d31594c06c167704604b62e94bc3cabba..49b228dcac89b74974257ff70de64feda3bd13fb 100644 (file)
@@ -5569,8 +5569,8 @@ PHP_FUNCTION(substr_count)
        ZEND_PARSE_PARAMETERS_END();
 
        if (needle_len == 0) {
-               php_error_docref(NULL, E_WARNING, "Empty substring");
-               RETURN_FALSE;
+               zend_throw_error(NULL, "Empty substring");
+               return;
        }
 
        p = haystack;
index 4023a774d8e74dbd60730dc3937cfabfbb35c371..385689e69705081191c670213f213139cf1a4957 100644 (file)
@@ -4,17 +4,25 @@ Test substr_count() function (basic)
 <?php
 
 echo "***Testing basic operations ***\n";
-var_dump(@substr_count("", ""));
-var_dump(@substr_count("a", ""));
-var_dump(@substr_count("", "a"));
-var_dump(@substr_count("", "a"));
-var_dump(@substr_count("", chr(0)));
+try {
+    substr_count("", "");
+} catch (\Error $e) {
+    echo $e->getMessage() . "\n";
+}
+try {
+    substr_count("a", "");
+} catch (\Error $e) {
+    echo $e->getMessage() . "\n";
+}
+var_dump(substr_count("", "a"));
+var_dump(substr_count("", "a"));
+var_dump(substr_count("", chr(0)));
 
 $a = str_repeat("abcacba", 100);
-var_dump(@substr_count($a, "bca"));
+var_dump(substr_count($a, "bca"));
 
 $a = str_repeat("abcacbabca", 100);
-var_dump(@substr_count($a, "bca"));
+var_dump(substr_count($a, "bca"));
 var_dump(substr_count($a, "bca", 200));
 var_dump(substr_count($a, "bca", 200, 50));
 var_dump(substr_count($a, "bca", -200));
@@ -26,8 +34,8 @@ echo "Done\n";
 ?>
 --EXPECT--
 ***Testing basic operations ***
-bool(false)
-bool(false)
+Empty substring
+Empty substring
 int(0)
 int(0)
 int(0)