]> granicus.if.org Git - php/commitdiff
Fixed ADD_INTERNED_STRING() logic to support strings that are already interned. ...
authorDmitry Stogov <dmitry@zend.com>
Thu, 9 Jan 2014 09:48:08 +0000 (13:48 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 9 Jan 2014 09:48:08 +0000 (13:48 +0400)
ext/opcache/zend_persist_calc.c

index 9f26a24367bf1ed0ad24773afc4a1c5c4eb079e3..e22b7d3952b08fb8b27f7ca6498687cb2f447b2f 100644 (file)
 
 #if ZEND_EXTENSION_API_NO > PHP_5_3_X_API_NO
 # define ADD_INTERNED_STRING(str, len) do { \
-               const char *tmp = accel_new_interned_string((str), (len), !IS_INTERNED((str)) TSRMLS_CC); \
-               if (tmp != (str)) { \
-                       (str) = (char*)tmp; \
-               } else { \
-                       ADD_DUP_SIZE((str), (len)); \
+               if (!IS_INTERNED(str)) { \
+                       const char *tmp = accel_new_interned_string((str), (len), 1 TSRMLS_CC); \
+                       if (tmp != (str)) { \
+                               (str) = (char*)tmp; \
+                       } else { \
+                               ADD_DUP_SIZE((str), (len)); \
+                       } \
                } \
        } while (0)
 #else