pe*alloc
[m6w6/ext-psi] / src / cpp.c
index 05efac150ebaed144a05750338f6b49119e2b7e9..e01c3e6ff93a4b616f7589467f662474df66e98d 100644 (file)
--- a/src/cpp.c
+++ b/src/cpp.c
@@ -43,6 +43,9 @@ PHP_MINIT_FUNCTION(psi_cpp)
        struct psi_parser parser;
        struct psi_parser_input *predef;
 
+       PSI_G(search_path) = pemalloc(strlen(PSI_G(directory)) + strlen(psi_cpp_search) + 1 + 1, 1);
+       sprintf(PSI_G(search_path), "%s:%s", PSI_G(directory), psi_cpp_search);
+
        if (!psi_parser_init(&parser, NULL, 0)) {
                return FAILURE;
        }
@@ -95,7 +98,7 @@ static void free_cpp_def(zval *p)
 
 struct psi_cpp *psi_cpp_init(struct psi_parser *P)
 {
-       struct psi_cpp *cpp = calloc(1, sizeof(*cpp));
+       struct psi_cpp *cpp = pecalloc(1, sizeof(*cpp), 1);
 
        cpp->parser = P;
        zend_hash_init(&cpp->once, 0, NULL, NULL, 1);