fix gdbinit; postprocessing macros
[m6w6/ext-psi] / src / types / return_stmt.c
index b4bcb523d6f42b2ed104d2a5eb9051f33a233014..41a17eed41a293a56553923f88692f27ca34f22b 100644 (file)
@@ -29,7 +29,7 @@
 
 struct psi_return_stmt *psi_return_stmt_init(struct psi_return_exp *exp)
 {
-       struct psi_return_stmt *ret = calloc(1, sizeof(*ret));
+       struct psi_return_stmt *ret = pecalloc(1, sizeof(*ret), 1);
        ret->exp = exp;
        return ret;
 }
@@ -46,19 +46,17 @@ void psi_return_stmt_free(struct psi_return_stmt **ret_ptr)
                struct psi_return_stmt *ret = *ret_ptr;
 
                *ret_ptr = NULL;
-               if (ret->token) {
-                       free(ret->token);
-               }
+               psi_token_free(&ret->token);
                psi_return_exp_free(&ret->exp);
                free(ret);
        }
 }
 
-void psi_return_stmt_dump(int fd, struct psi_return_stmt *ret)
+void psi_return_stmt_dump(struct psi_dump *dump, struct psi_return_stmt *ret)
 {
-       dprintf(fd, "\treturn ");
-       psi_return_exp_dump(fd, ret->exp);
-       dprintf(fd, ";\n");
+       PSI_DUMP(dump, "\treturn ");
+       psi_return_exp_dump(dump, ret->exp);
+       PSI_DUMP(dump, ";\n");
 }
 
 bool psi_return_stmt_validate(struct psi_data *data,
@@ -78,12 +76,12 @@ bool psi_return_stmt_validate(struct psi_data *data,
                data->error(data, ret->token, PSI_WARNING,
                                "Too many `return` statements for implementation %s;"
                                " found %zu, exactly one is required",
-                               scope->impl->func->name, count);
+                               scope->impl->func->name->val, count);
                return false;
        case 0:
                data->error(data, scope->impl->func->token, PSI_WARNING,
                                "Missing `return` statement for implementation %s",
-                               scope->impl->func->name);
+                               scope->impl->func->name->val);
                return false;
        case 1:
                break;