basic support for builtins
[m6w6/ext-psi] / src / types / decl_file.c
index c8622dba590cf0b95cfbb20b76570f0d9c17284b..89c232346603d6bc62f3e928371714efcfce7206 100644 (file)
@@ -37,7 +37,7 @@ void psi_decl_file_dtor(struct psi_decl_file *file)
                psi_plist_free(file->dlopened);
        }
        if (file->filename) {
-               free(file->filename);
+               zend_string_release(file->filename);
        }
        memset(file, 0, sizeof(*file));
 }
@@ -79,13 +79,12 @@ bool psi_decl_file_validate(struct psi_data *dst, struct psi_data *src)
                        return false;
                }
 
-               libname = strdup(libname);
                dst->file.libnames = psi_plist_add(dst->file.libnames, &libname);
                dst->file.dlopened = psi_plist_add(dst->file.dlopened, &dlopened);
        }
 
        if (src->file.filename) {
-               dst->file.filename = strdup(src->file.filename);
+               dst->file.filename = zend_string_copy(src->file.filename);
        }
        return true;
 }