]> granicus.if.org Git - php/commitdiff
Use one_char_string
authorXinchen Hui <laruence@php.net>
Thu, 2 Jul 2015 04:19:55 +0000 (12:19 +0800)
committerXinchen Hui <laruence@php.net>
Thu, 2 Jul 2015 04:19:55 +0000 (12:19 +0800)
Zend/zend_operators.c

index 7ab9e5bd465acde39998dd9fc8a66eae7f4f7fe7..4528e81c28d9e401596ca173437cff9be4e862d9 100644 (file)
@@ -2118,8 +2118,12 @@ static void ZEND_FASTCALL increment_string(zval *str) /* {{{ */
 
        if (Z_STRLEN_P(str) == 0) {
                zend_string_release(Z_STR_P(str));
-               Z_STR_P(str) = zend_string_init("1", sizeof("1")-1, 0);
-               Z_TYPE_INFO_P(str) = IS_STRING_EX;
+               if (CG(one_char_string)['1']) {
+                       ZVAL_INTERNED_STR(str, CG(one_char_string)['1']);
+               } else {
+                       Z_STR_P(str) = zend_string_init("1", sizeof("1")-1, 0);
+                       Z_TYPE_INFO_P(str) = IS_STRING_EX;
+               }
                return;
        }