fix leak
[m6w6/ext-psi] / src / parser.c
index 947eea7bb21a29334657c60b1e366fb72c323009..434554ee584d7923039c07b10fc35d8cf665ef44 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.16 on Tue Mar 28 16:36:22 2017 */
+/* Generated by re2c 0.16 on Tue Mar 28 19:45:29 2017 */
 #line 1 "src/parser.re"
 /*******************************************************************************
  Copyright (c) 2016, Michael Wallner <mike@php.net>.
@@ -183,10 +183,10 @@ static void psi_parser_register_constants(struct psi_parser *P)
 }
 #endif
 
-struct psi_plist *psi_parser_preprocess(struct psi_parser *P, struct psi_plist *tokens)
+struct psi_plist *psi_parser_preprocess(struct psi_parser *P, struct psi_plist **tokens)
 {
-       if (psi_cpp_process(P->preproc, &tokens)) {
-               return tokens;
+       if (psi_cpp_process(P->preproc, tokens)) {
+               return *tokens;
        }
        return NULL;
 }
@@ -208,7 +208,7 @@ bool psi_parser_parse(struct psi_parser *P, struct psi_parser_input *I)
                return false;
        }
 
-       if (!(preproc = psi_parser_preprocess(P, scanned))) {
+       if (!(preproc = psi_parser_preprocess(P, &scanned))) {
                psi_plist_free(scanned);
                return false;
        }