]> granicus.if.org Git - php/commitdiff
MFH: fixed #28899 mb_substr() and substr() work differently when mbstring.func_overlo...
authorRui Hirokawa <hirokawa@php.net>
Fri, 23 Dec 2005 11:15:16 +0000 (11:15 +0000)
committerRui Hirokawa <hirokawa@php.net>
Fri, 23 Dec 2005 11:15:16 +0000 (11:15 +0000)
ext/mbstring/mbstring.c

index 7e665c37d4fc016dbc2f3a898096920ff4ba6489..c21c54a93a90d927886e1b6f96c23e385e941712 100644 (file)
@@ -1763,6 +1763,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 */