mirror of
https://github.com/php/php-src.git
synced 2026-04-22 07:28:09 +02:00
str_repeat() should be able to handle multipliers of 0 gracefully, IMHO ...
Hope no one disagrees. :)
This commit is contained in:
@@ -2553,8 +2553,8 @@ PHP_FUNCTION(str_repeat)
|
||||
convert_to_string_ex(input_str);
|
||||
convert_to_long_ex(mult);
|
||||
|
||||
if ((*mult)->value.lval < 1) {
|
||||
php_error(E_WARNING, "Second argument to %s() has to be greater than 0",
|
||||
if ((*mult)->value.lval < 0) {
|
||||
php_error(E_WARNING, "Second argument to %s() has to be greater than or equal to 0",
|
||||
get_active_function_name());
|
||||
return;
|
||||
}
|
||||
@@ -2563,6 +2563,10 @@ PHP_FUNCTION(str_repeat)
|
||||
if ((*input_str)->value.str.len == 0)
|
||||
RETURN_STRINGL(empty_string, 0, 1);
|
||||
|
||||
/* ... or if the multiplier is zero */
|
||||
if ((*mult)->value.lval == 0)
|
||||
RETURN_STRINGL(empty_string, 0, 1);
|
||||
|
||||
/* Initialize the result string */
|
||||
result_len = (*input_str)->value.str.len * (*mult)->value.lval;
|
||||
result = (char *)emalloc(result_len + 1);
|
||||
|
||||
Reference in New Issue
Block a user