X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Fset_stmt.c;h=fca25197b381a332b6a2a6190a4ddbe08c0d284b;hp=2139dc45bd6fe7c6cabc9e85caec04b326c71902;hb=a0f437f26cd0f121ee911a55327a68a3544bf15f;hpb=c9384515a81cb64d345b299908b2852f51bb8e6e diff --git a/src/types/set_stmt.c b/src/types/set_stmt.c index 2139dc4..fca2519 100644 --- a/src/types/set_stmt.c +++ b/src/types/set_stmt.c @@ -29,7 +29,7 @@ struct psi_set_stmt *psi_set_stmt_init(struct psi_set_exp *exp) { - struct psi_set_stmt *set = calloc(1, sizeof(*set)); + struct psi_set_stmt *set = pecalloc(1, sizeof(*set), 1); set->exp = exp; return set; } @@ -46,18 +46,16 @@ void psi_set_stmt_free(struct psi_set_stmt **set_ptr) *set_ptr = NULL; psi_set_exp_free(&set->exp); - if (set->token) { - free(set->token); - } + psi_token_free(&set->token); free(set); } } -void psi_set_stmt_dump(int fd, struct psi_set_stmt *set) +void psi_set_stmt_dump(struct psi_dump *dump, struct psi_set_stmt *set) { - dprintf(fd, "\tset "); - psi_set_exp_dump(fd, set->exp, 1, 1); - dprintf(fd, ";\n"); + PSI_DUMP(dump, "\tset "); + psi_set_exp_dump(dump, set->exp, 1, 1); + PSI_DUMP(dump, ";\n"); } @@ -72,13 +70,13 @@ bool psi_set_stmts_validate(struct psi_data *data, struct psi_validate_scope *sc if (!set->exp->var) { data->error(data, set->token, PSI_WARNING, "Missing variable of `set` statement of implementation '%s'", - scope->impl->func->name); + scope->impl->func->name->val); return false; } if (!psi_impl_get_arg(scope->impl, set->exp->var)) { data->error(data, set->token, PSI_WARNING, "Unknown variable '%s' of `set` statement of implementation '%s'", - set->exp->var->name, scope->impl->func->name); + set->exp->var->name->val, scope->impl->func->name->val); return false; } @@ -92,7 +90,7 @@ bool psi_set_stmts_validate(struct psi_data *data, struct psi_validate_scope *sc if (!psi_impl_get_temp_let_arg(scope->impl, set->exp->data.func->var)) { data->error(data, set->token, PSI_WARNING, "Unknown variable '%s' of `set` statement of implementation '%s'", - set->exp->data.func->var->name, scope->impl->func->name); + set->exp->data.func->var->name->val, scope->impl->func->name->val); scope->current_set = NULL; return false; }