X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=include%2Fcstack.h;h=a876ddb1912d2fe7e36f3748b355865544f92e93;hb=58e6310354246773a7aecf1b4612eee088a4596b;hp=bea73a6a223c503e04a25a530475b23a5d7101c7;hpb=d4843ea375360f37e965709e73c0fbd68e302dca;p=smdp.git diff --git a/include/cstack.h b/include/cstack.h index bea73a6..a876ddb 100644 --- a/include/cstack.h +++ b/include/cstack.h @@ -3,7 +3,7 @@ /* * An implementation of a char stack in heap memory. - * Copyright (C) 2014 Michael Goehler + * Copyright (C) 2015 Michael Goehler * * This file is part of mdp. * @@ -38,23 +38,25 @@ * */ +#include "common.h" + typedef struct _cstack_t { - char *content; + wchar_t *content; size_t alloc; size_t size; int head; - void (*push)(struct _cstack_t *self, char c); - char (*pop)(struct _cstack_t *self); - int (*top)(struct _cstack_t *self, char c); - int (*empty)(struct _cstack_t *self); + void (*push)(struct _cstack_t *self, wchar_t c); + wchar_t (*pop)(struct _cstack_t *self); + bool (*top)(struct _cstack_t *self, wchar_t c); + bool (*empty)(struct _cstack_t *self); void (*delete)(struct _cstack_t *self); } cstack_t; cstack_t *cstack_init(); -void cstack_push(cstack_t *self, char c); -char cstack_pop(cstack_t *self); -int cstack_top(cstack_t *self, char c); -int cstack_empty(cstack_t *self); +void cstack_push(cstack_t *self, wchar_t c); +wchar_t cstack_pop(cstack_t *self); +bool cstack_top(cstack_t *self, wchar_t c); +bool cstack_empty(cstack_t *self); void cstack_delete(cstack_t *self); #endif // !defined( CSTACK_H )