示例#1
0
int GUTHTHILA_CALL
guththila_tok_list_init(
    guththila_tok_list_t * tok_list,
    const axutil_env_t * env)
{
    int i = 0;
    tok_list->list = (guththila_token_t **)AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *)
        * GUTHTHILA_TOK_DEF_LIST_SIZE);
    if(tok_list->list && guththila_stack_init(&tok_list->fr_stack, env))
    {
        tok_list->capacity = (int *)AXIS2_MALLOC(env->allocator, sizeof(int)
            * GUTHTHILA_TOK_DEF_LIST_SIZE);
        if(tok_list->capacity)
        {
            tok_list->no_list = GUTHTHILA_TOK_DEF_LIST_SIZE;
            tok_list->list[0] = (guththila_token_t *)AXIS2_MALLOC(env->allocator,
                sizeof(guththila_token_t) * GUTHTHILA_TOK_DEF_SIZE);
            for(i = 0; i < GUTHTHILA_TOK_DEF_SIZE; i++)
            {
                guththila_stack_push(&tok_list->fr_stack, &tok_list->list[0][i], env);
            }
            tok_list->capacity[0] = GUTHTHILA_TOK_DEF_SIZE;
            tok_list->cur_list = 0;
            tok_list->no_list = GUTHTHILA_TOK_DEF_LIST_SIZE;
            return GUTHTHILA_SUCCESS;
        }
    }
    return GUTHTHILA_FAILURE;
}
guththila_namespace_list_t *GUTHTHILA_CALL
guththila_namespace_list_create(const axutil_env_t * env) 
{
    int i = 0;
    guththila_namespace_list_t * namesp_list =
        (guththila_namespace_list_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_namespace_list_t));

    if (!namesp_list)
        return NULL;

    namesp_list->list =
        (guththila_namespace_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_namespace_t) *
                                               GUTHTHILA_NAMESPACE_DEF_SIZE);

    if (namesp_list->list && guththila_stack_init(&namesp_list->fr_stack, env))
    {
        namesp_list->capacity = GUTHTHILA_NAMESPACE_DEF_SIZE;
        namesp_list->size = 0;
        for (i = 0; i < GUTHTHILA_NAMESPACE_DEF_SIZE; i++)
        {
            guththila_stack_push(&namesp_list->fr_stack, namesp_list->list + i,env);
        }
        return namesp_list;
    }
    return NULL;
}
int GUTHTHILA_CALL
guththila_namespace_list_init(guththila_namespace_list_t * namesp_list,const axutil_env_t * env) 
{
    int i = 0;
    namesp_list->list =
        (guththila_namespace_t *) AXIS2_MALLOC(env->allocator,
                                               sizeof(guththila_namespace_t) *
                                               GUTHTHILA_NAMESPACE_DEF_SIZE);
    if (namesp_list->list && guththila_stack_init(&namesp_list->fr_stack, env))
    {
        namesp_list->capacity = GUTHTHILA_NAMESPACE_DEF_SIZE;
        namesp_list->size = 0;
        for (i = 0; i < GUTHTHILA_NAMESPACE_DEF_SIZE; i++)
        {
            guththila_stack_push(&namesp_list->fr_stack, namesp_list->list + i,env);
        }
        return GUTHTHILA_SUCCESS;
    }
    return GUTHTHILA_FAILURE;
}