Ejemplo n.º 1
0
myhtml_status_t myhtml_tag_init(myhtml_tag_t *tags)
{
    tags->context_size = 4096 * 50;
    tags->context = (myhtml_tag_context_t*)mymalloc(sizeof(myhtml_tag_context_t) * tags->context_size);
    
    if(tags->context == NULL) {
        tags->cache_name = NULL;
        tags->index_nodes = NULL;
        
        return MyHTML_STATUS_TAGS_ERROR_MEMORY_ALLOCATION;
    }
    
    tags->cache_name_size = tags->context_size * 12;
    tags->cache_name = (char*)mymalloc(sizeof(char) * tags->cache_name_size);
    
    if(tags->cache_name == NULL) {
        tags->index_nodes = NULL;
        
        return MyHTML_STATUS_TAGS_ERROR_CACHE_MEMORY_ALLOCATION;
    }
    
    tags->tree = mctree_create(32);
    
    myhtml_tag_clean(tags);
    myhtml_tag_init_tags(tags);
    myhtml_tag_init_tags_categories(tags);
    
    tags->index_nodes = mcobject_async_create();
    mcobject_async_status_t mcstatus = mcobject_async_init(tags->index_nodes, 128, 4096, sizeof(myhtml_tag_index_node_t));
    
    if(mcstatus != MCOBJECT_ASYNC_STATUS_OK)
        return MyHTML_STATUS_TAGS_ERROR_MCOBJECT_CREATE;
    
    return MyHTML_STATUS_OK;
}
Ejemplo n.º 2
0
myhtml_status_t myhtml_tag_init(myhtml_tree_t *tree, myhtml_tag_t *tags)
{
    tags->context_size = MyHTML_TAG_LAST_ENTRY + 128;
    tags->context = (myhtml_tag_context_t*)mymalloc(sizeof(myhtml_tag_context_t) * tags->context_size);
    
    if(tags->context == NULL)
        return MyHTML_STATUS_TAGS_ERROR_MEMORY_ALLOCATION;
    
    tags->mchar_node = mchar_async_node_add(tree->myhtml->mchar);
    tags->tree       = mctree_create(32);
    
    tags->mchar      = tree->myhtml->mchar;
    tags->tag_index  = tree->myhtml->tag_index;
    
    myhtml_tag_clean(tags);
    
    return MyHTML_STATUS_OK;
}
Ejemplo n.º 3
0
Archivo: tag.c Proyecto: 4ker/myhtml
myhtml_status_t myhtml_tag_init(myhtml_tree_t *tree, myhtml_tag_t *tags)
{
    tags->mcsimple_context = mcsimple_create();
    
    if(tags->mcsimple_context == NULL)
        return MyHTML_STATUS_TAGS_ERROR_MEMORY_ALLOCATION;
    
    mcsimple_init(tags->mcsimple_context, 128, 1024, sizeof(myhtml_tag_context_t));
    
    tags->mchar_node = mchar_async_node_add(tree->myhtml->mchar);
    tags->tree       = mctree_create(32);
    
    tags->mchar      = tree->myhtml->mchar;
    tags->tag_index  = tree->myhtml->tag_index;
    
    tags->tags_count = MyHTML_TAG_LAST_ENTRY;
    
    myhtml_tag_clean(tags);
    
    return MyHTML_STATUS_OK;
}