void icaldirset_free(icalset* s) { icaldirset *dset = (icaldirset*)s; char* str; icaldirset_unlock(dset->dir); if(dset->dir !=0){ free(dset->dir); dset->dir = 0; } if(dset->gauge !=0){ icalgauge_free(dset->gauge); dset->gauge = 0; } if(dset->cluster !=0){ icalcluster_free(dset->cluster); } while(dset->directory !=0 && (str=pvl_pop(dset->directory)) != 0){ free(str); } if(dset->directory != 0){ pvl_free(dset->directory); dset->directory = 0; } dset->directory_iterator = 0; dset->first_component = 0; }
void icalgauge_free(icalgauge* gauge) { struct icalgauge_where *w; assert(gauge->select != 0); assert(gauge->where != 0); assert(gauge->from != 0); if(gauge->select){ while( (w=pvl_pop(gauge->select)) != 0){ if(w->value != 0){ free(w->value); } free(w); } pvl_free(gauge->select); gauge->select = 0; } if(gauge->where){ while( (w=pvl_pop(gauge->where)) != 0){ if(w->value != 0){ free(w->value); } free(w); } pvl_free(gauge->where); gauge->where = 0; } if(gauge->from){ pvl_free(gauge->from); gauge->from = 0; } free(gauge); }
void icalparser_free(icalparser *parser) { icalcomponent *c; if (parser->root_component != 0) { icalcomponent_free(parser->root_component); } while ((c = pvl_pop(parser->components)) != 0) { icalcomponent_free(c); } pvl_free(parser->components); free(parser); }
void icalspanlist_free(icalspanlist* s) { struct icaltime_span *span; if (s == NULL) return; while( (span=pvl_pop(s->spans)) != 0){ free(span); } pvl_free(s->spans); s->spans = 0; free(s); }