- cstack_t *stack = malloc(sizeof(cstack_t));
- stack->content = NULL;
- stack->alloc = stack->size = 0;
- stack->head = -1;
- stack->push = cstack_push;
- stack->pop = cstack_pop;
- stack->top = cstack_top;
- stack->empty = cstack_empty;
- stack->delete = cstack_delete;
+ cstack_t *stack = NULL;
+ if((stack = malloc(sizeof(cstack_t))) != NULL) {
+ stack->content = NULL;
+ stack->alloc = stack->size = 0;
+ stack->head = -1;
+ stack->push = cstack_push;
+ stack->pop = cstack_pop;
+ stack->top = cstack_top;
+ stack->empty = cstack_empty;
+ stack->delete = cstack_delete;
+ } else {
+ fprintf(stderr, "%s\n", "cstack_init() failed to allocate memory.");
+ exit(EXIT_FAILURE);
+ }