summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Peter Banyard <girgias@php.net>2020-01-25 12:22:01 +0100
committerGeorge Peter Banyard <girgias@php.net>2020-01-25 12:22:01 +0100
commitba82e18755098a7d303e8bc3a92cf57adcfc75dc (patch)
tree445742e0289a86404052920c1f8297b6e3907328
parent986da2a436d878eb7141ef98360a216135ad80b2 (diff)
downloadphp-git-ba82e18755098a7d303e8bc3a92cf57adcfc75dc.tar.gz
Allow empty needle in mb_strrchr()
-rw-r--r--ext/mbstring/mbstring.c7
-rw-r--r--ext/mbstring/tests/mb_strrchr_empty_needle.phpt16
2 files changed, 8 insertions, 15 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 1970febc54..de4ccfc427 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -2266,13 +2266,6 @@ PHP_FUNCTION(mb_strrchr)
RETURN_FALSE;
}
- if (haystack.len == 0) {
- RETURN_FALSE;
- }
- if (needle.len == 0) {
- RETURN_FALSE;
- }
-
n = mbfl_strpos(&haystack, &needle, 0, 1);
if (!mbfl_is_error(n)) {
if (part) {
diff --git a/ext/mbstring/tests/mb_strrchr_empty_needle.phpt b/ext/mbstring/tests/mb_strrchr_empty_needle.phpt
index 1efacc90d2..642c9ca15f 100644
--- a/ext/mbstring/tests/mb_strrchr_empty_needle.phpt
+++ b/ext/mbstring/tests/mb_strrchr_empty_needle.phpt
@@ -15,23 +15,23 @@ $string_ascii = 'abc def';
$string_mb = "日本語テキストです。0123456789。";
echo "\n-- ASCII string --\n";
-var_dump(bin2hex(mb_strrchr($string_ascii, '', false, 'ISO-8859-1')));
-var_dump(bin2hex(mb_strrchr($string_ascii, '')));
-var_dump(bin2hex(mb_strrchr($string_ascii, '', true)));
+var_dump(mb_strrchr($string_ascii, '', false, 'ISO-8859-1'));
+var_dump(mb_strrchr($string_ascii, ''));
+var_dump(mb_strrchr($string_ascii, '', true));
echo "\n-- Multibyte string --\n";
-var_dump(bin2hex(mb_strrchr($string_mb, '')));
-var_dump(bin2hex(mb_strrchr($string_mb, '', false, 'utf-8')));
-var_dump(bin2hex(mb_strrchr($string_mb, '', true)));
+var_dump(mb_strrchr($string_mb, ''));
+var_dump(mb_strrchr($string_mb, '', false, 'utf-8'));
+var_dump(mb_strrchr($string_mb, '', true));
?>
--EXPECT--
-- ASCII string --
string(0) ""
string(0) ""
-string(0) ""
+string(7) "abc def"
-- Multibyte string --
string(0) ""
string(0) ""
-string(0) ""
+string(53) "日本語テキストです。0123456789。"