types refactoring
[m6w6/ext-psi] / src / types / decl_enum_item.h
index 3b976dea2c0d33c94e83a17807a22d83313ed457..802d535a20f236e2637a72744867d61500dd1013 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef _PSI_TYPES_DECL_ENUM_ITEM_H
 #define _PSI_TYPES_DECL_ENUM_ITEM_H
 
 #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;
 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;
 
        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
 
 #endif