From: Dmitry Stogov Date: Thu, 9 Jan 2014 09:48:08 +0000 (+0400) Subject: Fixed ADD_INTERNED_STRING() logic to support strings that are already interned. ... X-Git-Tag: php-5.6.0alpha1~45^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b5fbde9c5bbfc7acc01f0db40b8b5c8d8d8f6c20;p=php Fixed ADD_INTERNED_STRING() logic to support strings that are already interned. (Terry) --- diff --git a/ext/opcache/zend_persist_calc.c b/ext/opcache/zend_persist_calc.c index 9f26a24367..e22b7d3952 100644 --- a/ext/opcache/zend_persist_calc.c +++ b/ext/opcache/zend_persist_calc.c @@ -33,11 +33,13 @@ #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