api refactoring
[m6w6/ext-psi] / src / types / free_call.h
1 #ifndef _PSI_TYPES_FREE_CALL_H
2 #define _PSI_TYPES_FREE_CALL_H
3
4 typedef struct free_call {
5 struct psi_token *token;
6 char *func;
7 decl_vars *vars;
8 decl *decl;
9 } free_call;
10
11 static inline free_call *init_free_call(const char *func, decl_vars *vars) {
12 free_call *f = calloc(1, sizeof(*f));
13 f->func = strdup(func);
14 f->vars = vars;
15 return f;
16 }
17
18 static inline void free_free_call(free_call *f) {
19 if (f->token) {
20 free(f->token);
21 }
22 free(f->func);
23 free_decl_vars(f->vars);
24 free(f);
25 }
26
27 #endif