Around a quarter of all strings in array tokens would have a string that's one
character long (e.g. ` `, `\`, `1`)
For parsing a large number of php files,
The memory increase dropped from
378374248 to
369535688 (2.5%)
Closes GH-4753.
zval keyword;
array_init(&keyword);
add_next_index_long(&keyword, token_type);
- add_next_index_stringl(&keyword, (char *) text, leng);
+ if (leng == 1) {
+ add_next_index_str(&keyword, ZSTR_CHAR(text[0]));
+ } else {
+ add_next_index_stringl(&keyword, (char *) text, leng);
+ }
add_next_index_long(&keyword, lineno);
add_next_index_zval(return_value, &keyword);
} else {