mirror of
https://github.com/php/php-src.git
synced 2024-09-24 11:27:28 +00:00
fixed #28899 mb_substr() and substr() work differently when mbstring.func_overload is enabled.
This commit is contained in:
parent
b863d32288
commit
283f4759f6
@ -60,7 +60,6 @@
|
||||
#include "ext/standard/url.h"
|
||||
#include "main/php_output.h"
|
||||
#include "ext/standard/info.h"
|
||||
|
||||
#include "libmbfl/mbfl/mbfl_allocators.h"
|
||||
|
||||
#include "php_variables.h"
|
||||
@ -1763,6 +1762,11 @@ PHP_FUNCTION(mb_substr)
|
||||
}
|
||||
}
|
||||
|
||||
if (((MBSTRG(func_overload) & MB_OVERLOAD_STRING) == MB_OVERLOAD_STRING)
|
||||
&& (from >= mbfl_strlen(&string))) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
ret = mbfl_substr(&string, &result, from, len);
|
||||
if (ret != NULL) {
|
||||
RETVAL_STRINGL((char *)ret->val, ret->len, 0); /* the string is already strdup()'ed */
|
||||
|
Loading…
Reference in New Issue
Block a user