typedef struct let_func {
token_t type;
char *name;
+ size_t size;
} let_func;
-static inline let_func *init_let_func(token_t type, char *name) {
+static inline let_func *init_let_func(token_t type, char *name, size_t size) {
let_func *func = malloc(sizeof(*func));
func->type = type;
- func->name = (char *) strdup((const char *) name);
+ func->name = strdup(name);
+ func->size = size;
return func;
}
static inline void free_let_stmt(let_stmt *stmt) {
free_decl_var(stmt->var);
- free_let_value(stmt->val);
+ if (stmt->val) {
+ free_let_value(stmt->val);
+ }
free(stmt);
}