basic support for builtins
[m6w6/ext-psi] / src / types / assert_stmt.c
index 7b860d99d46aa161c92661817f2ab117b79405fe..e65efae05daff8454adf7afe46cb2047aae34803 100644 (file)
@@ -30,7 +30,7 @@
 
 struct psi_assert_stmt *psi_assert_stmt_init(enum psi_assert_kind kind, struct psi_num_exp *exp)
 {
-       struct psi_assert_stmt *stmt = calloc(1, sizeof(*stmt));
+       struct psi_assert_stmt *stmt = pecalloc(1, sizeof(*stmt), 1);
 
        stmt->kind = kind;
        stmt->exp = exp;
@@ -43,12 +43,10 @@ void psi_assert_stmt_free(struct psi_assert_stmt **stmt_ptr)
        if (*stmt_ptr) {
                struct psi_assert_stmt *stmt = *stmt_ptr;
 
+               *stmt_ptr = NULL;
                psi_num_exp_free(&stmt->exp);
-               if (stmt->token) {
-                       free(stmt->token);
-               }
+               psi_token_free(&stmt->token);
                free(stmt);
-               *stmt_ptr = NULL;
        }
 }
 
@@ -93,7 +91,7 @@ char *psi_assert_stmt_message(struct psi_assert_stmt *stmt)
        dprintf(fd, "Failed asserting that ");
        psi_num_exp_dump(fd, stmt->exp);
        fstat(fd, &sb);
-       message = malloc(sb.st_size + 1);
+       message = pemalloc(sb.st_size + 1, 1);
        lseek(fd, 0, SEEK_SET);
        read(fd, message, sb.st_size);
        close(fd);