diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2018-10-29 18:56:43 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2018-10-29 18:56:43 +0100 |
commit | 493b534c84a4d6d1ef38c322c9c214e81b1dc530 (patch) | |
tree | 36888cf62a92e96cb31b2baee412ac96c1c78097 | |
parent | 359f19edc9b200dd94a3d30dc14bd4a22903d80c (diff) | |
parent | 09c7108f743612e77826eac90e6f4d371d4209f9 (diff) | |
download | php-git-493b534c84a4d6d1ef38c322c9c214e81b1dc530.tar.gz |
Merge branch 'PHP-7.3'
-rw-r--r-- | ext/mbstring/mbstring.c | 12 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strrpos_encoding_3rd_param.phpt | 11 |
2 files changed, 17 insertions, 6 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index bfda20aa75..e86369cbeb 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2399,12 +2399,6 @@ PHP_FUNCTION(mb_strrpos) return; } - haystack.no_language = needle.no_language = MBSTRG(language); - haystack.encoding = needle.encoding = php_mb_get_encoding(enc_name); - if (!haystack.encoding) { - RETURN_FALSE; - } - if (zoffset) { if (Z_TYPE_P(zoffset) == IS_STRING) { enc_name2 = Z_STRVAL_P(zoffset); @@ -2446,6 +2440,12 @@ PHP_FUNCTION(mb_strrpos) } } + haystack.no_language = needle.no_language = MBSTRG(language); + haystack.encoding = needle.encoding = php_mb_get_encoding(enc_name); + if (!haystack.encoding) { + RETURN_FALSE; + } + if (offset != 0) { size_t haystack_char_len = mbfl_strlen(&haystack); if ((offset > 0 && offset > haystack_char_len) || diff --git a/ext/mbstring/tests/mb_strrpos_encoding_3rd_param.phpt b/ext/mbstring/tests/mb_strrpos_encoding_3rd_param.phpt new file mode 100644 index 0000000000..50b48d9941 --- /dev/null +++ b/ext/mbstring/tests/mb_strrpos_encoding_3rd_param.phpt @@ -0,0 +1,11 @@ +--TEST-- +Passing encoding as 3rd param to mb_strrpos (legacy) +--FILE-- +<?php + +mb_internal_encoding('UTF-16'); +var_dump(mb_strrpos("abc abc abc", "abc", "UTF-8")); + +?> +--EXPECT-- +int(8) |