X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Fdecl_enum_item.h;h=802d535a20f236e2637a72744867d61500dd1013;hp=3b976dea2c0d33c94e83a17807a22d83313ed457;hb=2f5af21b263403997e154658635d6b6e6eaab453;hpb=898c6dac30d12d7fe56662d66a8e73c340926d64 diff --git a/src/types/decl_enum_item.h b/src/types/decl_enum_item.h index 3b976de..802d535 100644 --- a/src/types/decl_enum_item.h +++ b/src/types/decl_enum_item.h @@ -1,6 +1,9 @@ #ifndef _PSI_TYPES_DECL_ENUM_ITEM_H #define _PSI_TYPES_DECL_ENUM_ITEM_H +#include "token.h" +#include "num_exp.h" + typedef struct decl_enum_item { struct psi_token *token; char *name; @@ -9,23 +12,7 @@ typedef struct decl_enum_item { struct decl_enum_item *prev; } decl_enum_item; -static inline decl_enum_item *init_decl_enum_item(const char *name, num_exp *num) { - decl_enum_item *i = calloc(1, sizeof(*i)); - - i->name = strdup(name); - i->num = num; - return i; -} - -static inline void free_decl_enum_item(decl_enum_item *i) { - if (i->token) { - free(i->token); - } - if (i->num && i->num != &i->inc) { - free_num_exp(i->num); - } - free(i->name); - free(i); -} +decl_enum_item *init_decl_enum_item(const char *name, num_exp *num); +void free_decl_enum_item(decl_enum_item *i); #endif