Skip to content

Commit 7ead968

Browse files
committed
interned small strings
1 parent 0af2a9f commit 7ead968

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

msgpack_unpack.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,12 @@ int msgpack_unserialize_str(msgpack_unserialize_data *unpack, const char* base,
500500
ZVAL_EMPTY_STRING(*obj);
501501
} else {
502502
/* TODO: check malformed input? */
503-
ZVAL_STRINGL(*obj, data, len);
503+
if (len < 1<<8) {
504+
zend_string *zs = zend_string_init_interned(data, len, 0);
505+
ZVAL_STR(*obj, zs);
506+
} else {
507+
ZVAL_STRINGL(*obj, data, len);
508+
}
504509
}
505510

506511
return 0;

0 commit comments

Comments
 (0)