diff options
| author | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-09-10 13:28:18 +0200 |
|---|---|---|
| committer | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-09-15 14:26:16 +0200 |
| commit | c37a1cd650a5399c4a89543759deedcc7280becd (patch) | |
| tree | 3a36dcdb3a20042ce3f37b3b534cbc5fbec7d1d4 /ext/mbstring | |
| parent | 62c20c662a961f030178a15311bfe37591c10316 (diff) | |
| download | php-git-c37a1cd650a5399c4a89543759deedcc7280becd.tar.gz | |
Promote a few remaining errors in ext/standard
Closes GH-6110
Diffstat (limited to 'ext/mbstring')
| -rw-r--r-- | ext/mbstring/mbstring.c | 6 | ||||
| -rw-r--r-- | ext/mbstring/mbstring.stub.php | 2 | ||||
| -rw-r--r-- | ext/mbstring/mbstring_arginfo.h | 9 | ||||
| -rw-r--r-- | ext/mbstring/tests/bug49354.phpt | 3 | ||||
| -rw-r--r-- | ext/mbstring/tests/mb_strcut.phpt | 2 |
5 files changed, 10 insertions, 12 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 58797eb244..274feec35e 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2233,8 +2233,7 @@ PHP_FUNCTION(mb_strcut) } if (from > string.len) { - // TODO Out of bounds ValueError - RETURN_FALSE; + RETURN_EMPTY_STRING(); } ret = mbfl_strcut(&string, &result, from, len); @@ -3500,6 +3499,9 @@ PHP_FUNCTION(mb_send_mail) str_headers = php_trim(str_headers, NULL, 0, 2); } else if (headers_ht) { str_headers = php_mail_build_headers(headers_ht); + if (EG(exception)) { + RETURN_THROWS(); + } } zend_hash_init(&ht_headers, 0, NULL, ZVAL_PTR_DTOR, 0); diff --git a/ext/mbstring/mbstring.stub.php b/ext/mbstring/mbstring.stub.php index 3be9aad66c..74f86404cf 100644 --- a/ext/mbstring/mbstring.stub.php +++ b/ext/mbstring/mbstring.stub.php @@ -45,7 +45,7 @@ function mb_substr_count(string $haystack, string $needle, ?string $encoding = n function mb_substr(string $str, int $start, ?int $length = null, ?string $encoding = null): string {} -function mb_strcut(string $str, int $start, ?int $length = null, ?string $encoding = null): string|false {} +function mb_strcut(string $str, int $start, ?int $length = null, ?string $encoding = null): string {} function mb_strwidth(string $str, ?string $encoding = null): int {} diff --git a/ext/mbstring/mbstring_arginfo.h b/ext/mbstring/mbstring_arginfo.h index 8bea3306f2..27b692c26f 100644 --- a/ext/mbstring/mbstring_arginfo.h +++ b/ext/mbstring/mbstring_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 442b9dc473714c91663fcd530214935ba74302e4 */ + * Stub hash: e02a0588d1f46fa96452558e35ea904907b8bdf2 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_language, 0, 0, MAY_BE_STRING|MAY_BE_BOOL) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, language, IS_STRING, 1, "null") @@ -87,12 +87,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_substr, 0, 2, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_strcut, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) - ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, length, IS_LONG, 1, "null") - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null") -ZEND_END_ARG_INFO() +#define arginfo_mb_strcut arginfo_mb_substr #define arginfo_mb_strwidth arginfo_mb_strlen diff --git a/ext/mbstring/tests/bug49354.phpt b/ext/mbstring/tests/bug49354.phpt index c25b405d82..1326efca7d 100644 --- a/ext/mbstring/tests/bug49354.phpt +++ b/ext/mbstring/tests/bug49354.phpt @@ -11,6 +11,7 @@ var_dump(mb_strcut($crap, 2, 100, 'UTF-8')); var_dump(mb_strcut($crap, 3, 100, 'UTF-8')); var_dump(mb_strcut($crap, 12, 100, 'UTF-8')); var_dump(mb_strcut($crap, 13, 100, 'UTF-8')); + ?> --EXPECT-- string(12) "AåBäCöDü" @@ -18,4 +19,4 @@ string(11) "åBäCöDü" string(11) "åBäCöDü" string(9) "BäCöDü" string(0) "" -bool(false) +string(0) "" diff --git a/ext/mbstring/tests/mb_strcut.phpt b/ext/mbstring/tests/mb_strcut.phpt index 40cc3ddb0d..5c191f7dcd 100644 --- a/ext/mbstring/tests/mb_strcut.phpt +++ b/ext/mbstring/tests/mb_strcut.phpt @@ -29,7 +29,7 @@ print MBStringChars(mb_strcut($euc_jp, 5, 5,'EUC-JP'), 'EUC-JP') . "\n"; print MBStringChars(mb_strcut($euc_jp, 0, 100,'EUC-JP'), 'EUC-JP') . "\n"; $str = mb_strcut($euc_jp, 100, 10,'EUC-JP'); -($str === false) ? print "OK\n" : print "No good\n"; +($str === "") ? print "OK\n" : print "No good\n"; $str = mb_strcut($euc_jp, -100, 10,'EUC-JP'); ($str !== "") ? print "OK\n" : print "No good\n"; |
