Changeset 4723


Ignore:
Timestamp:
Feb 1, 2011, 1:59:39 PM (10 years ago)
Author:
Jean-Yves Lamoureux
Message:
  • Indentation
  • Free libxml2's tree after use
Location:
gaycko/trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • gaycko/trunk/src/dom/dom.c

    r4716 r4723  
    2929        e->children_count  = 0;
    3030        e->children        = NULL;
    31     e->attribute_count = 0;
     31        e->attribute_count = 0;
    3232        e->attributes      = NULL;
    33    
     33
    3434        e->name = (char*)strdup((const char*)node->name);
    3535
     
    5151                e->type = ELEM_P;
    5252        }else if(!strncmp(e->name, "img", 3)) {
    53                 e->type = ELEM_IMG;
    54         }else if(!strncmp(e->name, "text", 4)) {
     53                e->type = ELEM_IMG;
     54        }else if(!strncmp(e->name, "text", 4)) {
    5555                e->type = ELEM_TEXT;
    5656                e->text = (char*)strdup((const char*)xmlNodeGetContent(node));
    57             strip_eol(e->text);
    58             strip_spaces(e->text);
     57                strip_eol(e->text);
     58                strip_spaces(e->text);
    5959        }else {
    6060                e->type = ELEM_UNKNOW;
    6161                printf("Unknow tag '%s'\n", e->name);   
    6262        }
    63    
    64     if(node->properties) {
    65         for(xmlAttrPtr attr = node->properties; attr != NULL; attr = attr->next) {
    66             e->attributes = realloc(e->attributes, sizeof(gAttribute));
    67             e->attributes[e->attribute_count].name = strdup(attr->name);
    68             e->attributes[e->attribute_count].value = strdup(attr->children->content);
    69         }
    70     }
    71    
     63
     64        if(node->properties) {
     65                for(xmlAttrPtr attr = node->properties; attr != NULL; attr = attr->next) {
     66                        e->attributes = realloc(e->attributes, sizeof(gAttribute));
     67                        e->attributes[e->attribute_count].name = strdup(attr->name);
     68                        e->attributes[e->attribute_count].value = strdup(attr->children->content);
     69                }
     70        }
     71
    7272        return e;
    7373}
     
    8181                gElement *child = add_element(node);
    8282                child->level = level;
    83        
     83
    8484                if(elem) elem  = realloc(elem, sizeof(gElement*)*(c+1));
    8585                else elem = malloc(sizeof(gElement*));
     
    9494                        if(node->children != NULL) {
    9595                                explore(child->children,
    96                                         node->children,
    97                                         level+1,
    98                                         child);
     96                                                node->children,
     97                                                level+1,
     98                                                child);
    9999                        } else {
    100100                                free(child->children);
     
    125125                LEVEL printf("<%s>\n", elem->name);
    126126        }
    127        
     127
    128128        unsigned int i;
    129129        for(i=0; i < elem->children_count; i++) {
     
    138138}
    139139
    140 
    141 #if 0
    142 if(xmlStrcasecmp(node->name, (const xmlChar*)"A") == 0)
    143 {
    144         for(xmlAttrPtr attr = node->properties; attr != NULL; attr = attr->next)
    145         {
    146                 if(xmlStrcasecmp(attr->name, (const xmlChar*)"HREF") == 0)
    147                 {
    148                         printf("Found link <%s>\n", node->children->content);
    149                 }
    150         }
    151 }
    152 #endif
    153 
  • gaycko/trunk/src/parsing/parse.c

    r4720 r4723  
    2727        /* Actual parsing */
    2828        htmlDocPtr doc = htmlParseDoc((unsigned char*)output.bp, NULL);
    29 
    30 
    31         //tidyBufFree( &output );
    32         //tidyBufFree( &errbuf );
     29       
     30        /* Release tidy document */
    3331        tidyRelease( tdoc );
    3432
     33        /* Convert libxml2's tree to our own DOM */
     34        gDOM *dom = gaycko_convert_dom(doc);
    3535
    36         gDOM *dom = gaycko_convert_dom(doc);
     36        /* Free libxml2 tree */
     37        xmlFreeDoc(doc);
    3738
    3839        return dom;
Note: See TracChangeset for help on using the changeset viewer.