예제 #1
0
/* stack_t */
void _type_init_stack(const void* cpv_input, void* pv_output)
{
    bool_t b_result = false;
    assert(cpv_input != NULL && pv_output != NULL);

    b_result = _create_stack_auxiliary((stack_t*)cpv_input, (char*)pv_output);
    assert(b_result);
    stack_init((stack_t*)cpv_input);
}
예제 #2
0
/**
 * Create stack container.
 */
stack_t* _create_stack(const char* s_typename)
{
    stack_t* psk_new = NULL;

    assert(s_typename != NULL);

    /* allocate memory for stack */
    if ((psk_new = (stack_t*)malloc(sizeof(stack_t))) == NULL) {
        return NULL;
    }

    if (!_create_stack_auxiliary(psk_new, s_typename)) {
        free(psk_new);
        return NULL;
    }

    return psk_new;
}