diff options
Diffstat (limited to 'src/libmowgli/base/argstack.h')
-rw-r--r-- | src/libmowgli/base/argstack.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libmowgli/base/argstack.h b/src/libmowgli/base/argstack.h index adf68c2..b3b86f9 100644 --- a/src/libmowgli/base/argstack.h +++ b/src/libmowgli/base/argstack.h @@ -24,29 +24,33 @@ #ifndef __MOWGLI_ARGSTACK_H__ #define __MOWGLI_ARGSTACK_H__ -typedef enum { +typedef enum +{ MOWGLI_ARG_NUMERIC, MOWGLI_ARG_POINTER, MOWGLI_ARG_STRING, MOWGLI_ARG_BOOLEAN } mowgli_argstack_element_type_t; -typedef struct { - union { +typedef struct +{ + union + { int numeric; void *pointer; char *string; mowgli_boolean_t boolean; } data; + mowgli_argstack_element_type_t type; } mowgli_argstack_element_t; -typedef struct { +typedef struct +{ mowgli_object_t parent; mowgli_list_t stack; } mowgli_argstack_t; -extern void mowgli_argstack_bootstrap(void); extern mowgli_argstack_t *mowgli_argstack_create(const char *descstr, ...); extern mowgli_argstack_t *mowgli_argstack_create_from_va_list(const char *descstr, va_list va); extern const char *mowgli_argstack_pop_string(mowgli_argstack_t *); |