]> granicus.if.org Git - php/commitdiff
mb_scrub() can't return false anymore
authorGeorge Peter Banyard <girgias@php.net>
Fri, 3 Apr 2020 17:20:26 +0000 (19:20 +0200)
committerGeorge Peter Banyard <girgias@php.net>
Sat, 4 Apr 2020 23:44:39 +0000 (01:44 +0200)
Also drop the intermediary function which was only used here

ext/mbstring/mbstring.c
ext/mbstring/mbstring.stub.php
ext/mbstring/mbstring_arginfo.h

index 454440ef6ec770b812e161ca47e134440c0436b7..960f67f7c5f3dc7cb38679016ab37837f1d10f76 100644 (file)
@@ -4424,14 +4424,7 @@ PHP_FUNCTION(mb_chr)
 }
 /* }}} */
 
-
-static inline char* php_mb_scrub(const char* str, size_t str_len, const mbfl_encoding *enc, size_t *ret_len)
-{
-       return php_mb_convert_encoding_ex(str, str_len, enc, enc, ret_len);
-}
-
-
-/* {{{ proto string|false mb_scrub([string str[, string encoding]]) */
+/* {{{ proto string mb_scrub([string str[, string encoding]]) */
 PHP_FUNCTION(mb_scrub)
 {
        const mbfl_encoding *enc;
@@ -4452,11 +4445,7 @@ PHP_FUNCTION(mb_scrub)
                RETURN_THROWS();
        }
 
-       ret = php_mb_scrub(str, str_len, enc, &ret_len);
-
-       if (ret == NULL) {
-               RETURN_FALSE;
-       }
+       ret = php_mb_convert_encoding_ex(str, str_len, enc, enc, &ret_len);
 
        RETVAL_STRINGL(ret, ret_len);
        efree(ret);
index dfc920eb9643569e045a477e58a08688ac17c35f..5210f7bf64a072f21462533c3c42a8af16dec40b 100644 (file)
@@ -81,7 +81,7 @@ function mb_get_info(string $type = UNKNOWN): array|string|int|false {}
 
 function mb_check_encoding(array|string $var = UNKNOWN, string $encoding = UNKNOWN): bool {}
 
-function mb_scrub(string $str, string $encoding = UNKNOWN): string|false {}
+function mb_scrub(string $str, string $encoding = UNKNOWN): string {}
 
 function mb_ord(string $str, string $encoding = UNKNOWN): int|false {}
 
index ea6af386e3426033e197afff07efe147ed7c28b1..d6c237b41068bfa382d2b26023e31e0d3d97f652 100644 (file)
@@ -193,7 +193,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_check_encoding, 0, 0, _IS_BOO
        ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_scrub, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_scrub, 0, 1, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
 ZEND_END_ARG_INFO()