summaryrefslogtreecommitdiff
path: root/ext/mbstring/mbstring.c
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2019-09-30 13:04:24 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2019-09-30 13:04:54 +0200
commit2046b3ce4fd09063fdbe1eaf1824b5a1d0bed125 (patch)
treed2bbe8076cf9673b75835cd772844979f9c12f00 /ext/mbstring/mbstring.c
parente546d721e8c61fb1218335dc75b1874033c3ca24 (diff)
parent45db6fa567b65e7ecd49b59527904fd8566ad813 (diff)
downloadphp-git-2046b3ce4fd09063fdbe1eaf1824b5a1d0bed125.tar.gz
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2: Fix #78609: mb_check_encoding() no longer supports stringable objects
Diffstat (limited to 'ext/mbstring/mbstring.c')
-rw-r--r--ext/mbstring/mbstring.c28
1 files changed, 8 insertions, 20 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index a7edb48d2b..a42373e5cb 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -4823,27 +4823,15 @@ PHP_FUNCTION(mb_check_encoding)
RETURN_FALSE;
}
- switch(Z_TYPE_P(input)) {
- case IS_LONG:
- case IS_DOUBLE:
- case IS_NULL:
- case IS_TRUE:
- case IS_FALSE:
- RETURN_TRUE;
- break;
- case IS_STRING:
- if (!php_mb_check_encoding(Z_STRVAL_P(input), Z_STRLEN_P(input), enc ? ZSTR_VAL(enc): NULL)) {
- RETURN_FALSE;
- }
- break;
- case IS_ARRAY:
- if (!php_mb_check_encoding_recursive(HASH_OF(input), enc)) {
- RETURN_FALSE;
- }
- break;
- default:
- php_error_docref(NULL, E_WARNING, "Input is something other than scalar or array");
+ if (Z_TYPE_P(input) == IS_ARRAY) {
+ if (!php_mb_check_encoding_recursive(HASH_OF(input), enc)) {
RETURN_FALSE;
+ }
+ } else {
+ convert_to_string(input);
+ if (!php_mb_check_encoding(Z_STRVAL_P(input), Z_STRLEN_P(input), enc ? ZSTR_VAL(enc): NULL)) {
+ RETURN_FALSE;
+ }
}
RETURN_TRUE;
}