Changeset 4744 for gaycko


Ignore:
Timestamp:
Feb 2, 2011, 3:00:41 PM (9 years ago)
Author:
Jean-Yves Lamoureux
Message:
  • Changed gElement to gNode, elementType to nodeType
Location:
gaycko/trunk/src
Files:
3 edited

Legend:

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

    r4743 r4744  
    1010        dom->root = NULL; 
    1111        htmlNodePtr root = xmlDocGetRootElement(doc);
    12         gElement **r = NULL;
    13         gElement *ret = NULL;
     12        gNode **r = NULL;
     13        gNode *ret = NULL;
    1414
    1515        if(root != NULL)
     
    2525
    2626
    27 gElement *add_element(htmlNodePtr node) {
     27gNode *add_node(htmlNodePtr node) {
    2828
    29         gElement *e;
    30         e = malloc(sizeof(gElement));
     29        gNode *e;
     30        e = malloc(sizeof(gNode));
    3131        e->children_count  = 0;
    3232        e->children        = NULL;
     
    9090
    9191
    92 gElement* explore(gElement **elem, htmlNodePtr element, unsigned int level, gElement *parent)
     92gNode* explore(gNode **elem, htmlNodePtr hnode, unsigned int level, gNode *parent)
    9393{
    9494        unsigned int c = 0;
    95         for(htmlNodePtr node = element; node != NULL; node = node->next)
     95        for(htmlNodePtr node = hnode; node != NULL; node = node->next)
    9696        {
    97                 gElement *child = add_element(node);
     97                gNode *child = add_node(node);
    9898                child->level = level;
    9999
    100                 if(elem) elem  = realloc(elem, sizeof(gElement*)*(c+1));
    101                 else elem = malloc(sizeof(gElement*));
     100                if(elem) elem  = realloc(elem, sizeof(gNode*)*(c+1));
     101                else elem = malloc(sizeof(gNode*));
    102102
    103103
     
    119119                }         
    120120                if(parent) {
    121                         parent->children = realloc(parent->children, sizeof(gElement*)*(parent->children_count+1));
     121                        parent->children = realloc(parent->children, sizeof(gNode*)*(parent->children_count+1));
    122122                        parent->children[parent->children_count] = child;
    123123                        parent->children_count++;
     
    128128
    129129
     130void destroy_node(gNode *elem) {
     131        if(!elem) return;
     132
     133        unsigned int a;
     134        for(a = 0; a < elem->attribute_count; a++) {
     135                if(elem->attributes[a].name) free(elem->attributes[a].name);
     136                if(elem->attributes[a].value) free(elem->attributes[a].value);
     137        }
     138        if(elem->attributes) free(elem->attributes);
     139        if(elem->text)       free(elem->text);
     140        if(elem->name)       free(elem->name);
     141
     142        unsigned int i;
     143        for(i=0; i < elem->children_count; i++) {
     144                destroy_node(elem->children[i]);
     145                elem->children[i] = NULL;
     146        }
     147        free(elem->children);
     148        free(elem);
     149}
     150
    130151#define LEVEL {unsigned int foo=0; for(foo=0; foo<elem->level; foo++) printf("    ");}
    131152
    132 void pretty_print(gElement *elem) {
     153void pretty_print(gNode *elem) {
    133154        if(!elem) {
    134155                printf("elem is %p\n", elem);
  • gaycko/trunk/src/dom/dom.h

    r4739 r4744  
    2424    ELEM_TR,
    2525    ELEM_TD
    26 }elementType;
     26}nodeType;
    2727
    2828struct gAttribute_ {
     
    3232typedef struct gAttribute_ gAttribute;
    3333
    34 typedef struct gElement_ gElement;
    35 struct gElement_ {
    36     elementType  type;
     34typedef struct gNode_ gNode;
     35struct gNode_ {
     36    nodeType  type;
    3737        char        *name;
    3838    unsigned int level;
     
    4343   
    4444    unsigned int children_count;
    45     gElement   **children;
     45    gNode   **children;
    4646   
    47     gElement     *parent;
     47    gNode     *parent;
    4848};
    4949
    5050
    5151struct gDOM_ {
    52         gElement *root;
     52        gNode *root;
    5353};
    5454
     
    5757
    5858gDOM *gaycko_convert_dom(htmlDocPtr doc);
    59 gElement* explore(gElement **elem, htmlNodePtr element, unsigned int level , gElement *parent);
    60 gElement *add_element(htmlNodePtr node);
    61 void pretty_print(gElement *elem);
     59gNode* explore(gNode **elem, htmlNodePtr element, unsigned int level , gNode *parent);
     60gNode *add_node(htmlNodePtr node);
     61void destroy_node(gNode *elem);
     62void pretty_print(gNode *elem);
     63
    6264#endif
  • gaycko/trunk/src/gaycko.cpp

    r4730 r4744  
    3636
    3737
     38        destroy_node(dom->root);
     39
    3840}
    3941
Note: See TracChangeset for help on using the changeset viewer.