commit after reset fuckup
[m6w6/ext-psi] / src / types / free_stmt.c
index 9b6544c70d7b462c9e50c5dd987c113a83fdab42..b6254b393eaeb26e809469566da7986f17679fca 100644 (file)
@@ -28,7 +28,7 @@
 
 struct psi_free_stmt *psi_free_stmt_init(struct psi_plist *exps)
 {
-       struct psi_free_stmt *f = calloc(1, sizeof(*f));
+       struct psi_free_stmt *f = pecalloc(1, sizeof(*f), 1);
        f->exps = exps;
        return f;
 }
@@ -39,41 +39,39 @@ void psi_free_stmt_free(struct psi_free_stmt **f_ptr)
                struct psi_free_stmt *f = *f_ptr;
 
                *f_ptr = NULL;
-               if (f->token) {
-                       free(f->token);
-               }
+               psi_token_free(&f->token);
                psi_plist_free(f->exps);
                free(f);
        }
 }
 
-void psi_free_stmt_dump(int fd, struct psi_free_stmt *fre)
+void psi_free_stmt_dump(struct psi_dump *dump, struct psi_free_stmt *fre)
 {
        size_t i;
        struct psi_free_exp *exp;
 
-       dprintf(fd, "\tfree ");
+       PSI_DUMP(dump, "\tfree ");
        for (i = 0; psi_plist_get(fre->exps, i, &exp); ++i) {
                if (i) {
-                       dprintf(fd, ", ");
+                       PSI_DUMP(dump, ", ");
                }
-               psi_free_exp_dump(fd, exp);
+               psi_free_exp_dump(dump, exp);
        }
-       dprintf(fd, ";\n");
+       PSI_DUMP(dump, ";\n");
 }
 
-bool psi_free_stmts_validate(struct psi_data *data, struct psi_impl *impl)
+bool psi_free_stmts_validate(struct psi_data *data, struct psi_validate_scope *scope)
 {
        size_t i;
        struct psi_free_stmt *fre;
 
        /* we can have any count of free stmts; freeing any out vars */
-       for (i = 0; psi_plist_get(impl->stmts.fre, i, &fre); ++i) {
+       for (i = 0; psi_plist_get(scope->impl->stmts.fre, i, &fre); ++i) {
                size_t j;
                struct psi_free_exp *exp;
 
                for (j = 0; psi_plist_get(fre->exps, j, &exp); ++j) {
-                       if (!psi_free_exp_validate(data, exp, impl)) {
+                       if (!psi_free_exp_validate(data, exp, scope)) {
                                return false;
                        }
                }