summaryrefslogtreecommitdiff
path: root/ext/tokenizer/tokenizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tokenizer/tokenizer.c')
-rw-r--r--ext/tokenizer/tokenizer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/tokenizer/tokenizer.c b/ext/tokenizer/tokenizer.c
index 48c358c941..cf5be94226 100644
--- a/ext/tokenizer/tokenizer.c
+++ b/ext/tokenizer/tokenizer.c
@@ -98,7 +98,11 @@ static void add_token(zval *return_value, int token_type,
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 {