X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Ffree_call.h;fp=src%2Ftypes%2Ffree_call.h;h=fec0daa6ac45b870565ea76e7d3adabad7dd8da0;hb=5359ad5c181e5772f350fe1cba060cbed3a05b91;hp=0000000000000000000000000000000000000000;hpb=04a60b34fc18ea3a2638893eaf24514177692eeb;p=m6w6%2Fext-psi diff --git a/src/types/free_call.h b/src/types/free_call.h new file mode 100644 index 0000000..fec0daa --- /dev/null +++ b/src/types/free_call.h @@ -0,0 +1,27 @@ +#ifndef _PSI_TYPES_FREE_CALL_H +#define _PSI_TYPES_FREE_CALL_H + +typedef struct free_call { + struct psi_token *token; + char *func; + decl_vars *vars; + decl *decl; +} free_call; + +static inline free_call *init_free_call(const char *func, decl_vars *vars) { + free_call *f = calloc(1, sizeof(*f)); + f->func = strdup(func); + f->vars = vars; + return f; +} + +static inline void free_free_call(free_call *f) { + if (f->token) { + free(f->token); + } + free(f->func); + free_decl_vars(f->vars); + free(f); +} + +#endif