Skip to content

Commit c2d4baf

Browse files
nielsdosGirgias
authored andcommitted
Copy UTF-8 flag for str_repeat
1 parent 99b8614 commit c2d4baf

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

ext/standard/string.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5059,6 +5059,7 @@ PHP_FUNCTION(str_repeat)
50595059
/* Initialize the result string */
50605060
result = zend_string_safe_alloc(ZSTR_LEN(input_str), mult, 0, 0);
50615061
result_len = ZSTR_LEN(input_str) * mult;
5062+
ZSTR_COPY_CONCAT_PROPERTIES(result, input_str);
50625063

50635064
/* Heavy optimization for situations where input string is 1 byte long */
50645065
if (ZSTR_LEN(input_str) == 1) {

ext/zend_test/tests/strings_marked_as_utf8.phpt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ $s = $o . $o;
107107
var_dump($s);
108108
var_dump(zend_test_is_string_marked_as_valid_utf8($s));
109109

110+
echo "str_repeat:\n";
111+
$string = "a";
112+
$string_concat = str_repeat($string, 100);
113+
var_dump(zend_test_is_string_marked_as_valid_utf8($string_concat));
114+
$string = "\xff";
115+
$string_concat = str_repeat($string, 100);
116+
var_dump(zend_test_is_string_marked_as_valid_utf8($string_concat));
117+
110118
?>
111119
--EXPECT--
112120
Empty strings:
@@ -148,3 +156,6 @@ bool(true)
148156
Concatenation of objects:
149157
string(2) "zz"
150158
bool(true)
159+
str_repeat:
160+
bool(true)
161+
bool(false)

0 commit comments

Comments
 (0)