Skip to content

Commit c8acebe

Browse files
committed
fixed str_split()
1 parent 91ceb29 commit c8acebe

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

ext/standard/string.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5514,19 +5514,21 @@ PHP_FUNCTION(str_split)
55145514
RETURN_FALSE;
55155515
}
55165516

5517-
array_init_size(return_value, ((str_len - 1) / split_length) + 1);
5518-
5519-
if (split_length >= str_len) {
5517+
if (0 == str_len) {
5518+
array_init_size(return_value, 1);
55205519
add_next_index_stringl(return_value, str, str_len, 1);
55215520
return;
55225521
}
55235522

5523+
array_init_size(return_value, ((str_len - 1) / split_length) + 1);
5524+
55245525
n_reg_segments = str_len / split_length;
55255526
p = str;
55265527

5527-
while (n_reg_segments-- > 0) {
5528+
while (n_reg_segments > 0) {
55285529
add_next_index_stringl(return_value, p, split_length, 1);
55295530
p += split_length;
5531+
n_reg_segments--;
55305532
}
55315533

55325534
if (p != (str + str_len)) {

0 commit comments

Comments
 (0)