Changeset 34 for trunk/ruleset.c


Ignore:
Timestamp:
Aug 20, 2008, 6:32:28 PM (6 years ago)
Author:
marius
Message:

added struct freeing funcs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ruleset.c

    r33 r34  
    6060    if (strcmp((char *) name, "rules") == 0) { 
    6161        // Init Ruleset 
    62         ruleset->data = NULL; 
    63         ruleset->scale=1; 
    6462        ruleset->rule = NULL; 
    6563 
     
    320318} 
    321319 
     320void rulesetFree(cfgRules * ruleset) { 
     321    cfgRule *rule, *lrule; 
     322    cfgDraw *draw, *ldraw; 
     323     
     324    for(rule=ruleset->rule,lrule=NULL;rule;lrule=rule,rule=rule->next) { 
     325        for(draw=rule->draw,ldraw=NULL;draw;ldraw=draw,draw=draw->next) { 
     326            if(draw->pattern) 
     327                g_tree_replace(patternStrings, draw->pattern, draw->pattern); 
     328            if(ldraw) 
     329                free(ldraw); 
     330        } 
     331        if(ldraw) 
     332            free(ldraw); 
     333         
     334        while (*rule->key != NULL) { 
     335            g_tree_replace(keyStrings, *rule->key, *rule->key); 
     336            rule->key++; 
     337        } 
     338        while (*rule->value != NULL) { 
     339            g_tree_replace(keyStrings, *rule->value, *rule->value); 
     340            rule->value++; 
     341        } 
     342         
     343        if(lrule) 
     344            free(lrule); 
     345    } 
     346    free(lrule); 
     347    free(ruleset); 
     348}; 
     349 
    322350/* 
    323351 * vim: expandtab shiftwidth=4 tabstop=4: 
Note: See TracChangeset for help on using the changeset viewer.