interned strings++
[m6w6/ext-psi] / src / types / decl_extvar.c
index c6a77aa436d6db0dda922b1ce536112a0f097a28..21323da0fbe07cf4136bd27771cdc767f74743cb 100644 (file)
@@ -36,7 +36,7 @@
 
 struct psi_decl_extvar *psi_decl_extvar_init(struct psi_decl_arg *arg)
 {
-       struct psi_decl_extvar *evar = calloc(1, sizeof(*evar));
+       struct psi_decl_extvar *evar = pecalloc(1, sizeof(*evar), 1);
 
        evar->arg = arg;
        return evar;
@@ -134,7 +134,7 @@ struct psi_decl *psi_decl_extvar_setter(struct psi_decl_extvar *evar)
        smart_str_append_ex(&name, func_var->name, 1);
        smart_str_appendl_ex(&name, ZEND_STRL("_set"), 1);
        zend_string_release(func_var->name);
-       func_var->name = smart_str_extract(&name);
+       func_var->name = zend_new_interned_string(smart_str_extract(&name));
 
        decl->extvar = 1;
 
@@ -157,7 +157,7 @@ struct psi_decl *psi_decl_extvar_getter(struct psi_decl_extvar *evar)
        smart_str_append_ex(&name, func_var->name, 1);
        smart_str_appendl_ex(&name, ZEND_STRL("_get"), 1);
        zend_string_release(func_var->name);
-       func_var->name = smart_str_extract(&name);
+       func_var->name = zend_new_interned_string(smart_str_extract(&name));
 
        decl->extvar = 1;