Author: mlschroe Date: Mon Feb 18 22:40:07 2008 New Revision: 8790 URL: http://svn.opensuse.org/viewcvs/zypp?rev=8790&view=rev Log: - free repodata memory Modified: trunk/sat-solver/src/repo.c trunk/sat-solver/src/repodata.c trunk/sat-solver/src/repodata.h Modified: trunk/sat-solver/src/repo.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/repo.c?rev=8790&r1=8789&r2=8790&view=diff ============================================================================== --- trunk/sat-solver/src/repo.c (original) +++ trunk/sat-solver/src/repo.c Mon Feb 18 22:40:07 2008 @@ -57,6 +57,10 @@ static void repo_freedata(Repo *repo) { + int i; + for (i = 0; i < repo->nrepodata; i++) + repodata_free(repo->repodata + i); + sat_free(repo->repodata); sat_free(repo->idarraydata); sat_free(repo->rpmdbid); sat_free((char *)repo->name); Modified: trunk/sat-solver/src/repodata.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/repodata.c?rev=8790&r1=8789&r2=8790&view=diff ============================================================================== --- trunk/sat-solver/src/repodata.c (original) +++ trunk/sat-solver/src/repodata.c Mon Feb 18 22:40:07 2008 @@ -32,6 +32,39 @@ unsigned char *out, unsigned int out_len); + +void +repodata_free(Repodata *data) +{ + sat_free(data->keys); + sat_free(data->schemata); + sat_free(data->schemadata); + + sat_free(data->spool.strings); + sat_free(data->spool.stringspace); + sat_free(data->spool.stringhashtbl); + + sat_free(data->dirpool.dirs); + sat_free(data->dirpool.dirtraverse); + + sat_free(data->incoredata); + sat_free(data->incoreoffset); + sat_free(data->verticaloffset); + + sat_free(data->blob_store); + sat_free(data->pages); + sat_free(data->mapped); + + sat_free(data->vincore); + + sat_free(data->attrs); + sat_free(data->attrdata); + sat_free(data->attriddata); + + if (data->fp) + fclose(data->fp); +} + static unsigned char * data_read_id(unsigned char *dp, Id *idp) { Modified: trunk/sat-solver/src/repodata.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/repodata.h?rev=8790&r1=8789&r2=8790&view=diff ============================================================================== --- trunk/sat-solver/src/repodata.h (original) +++ trunk/sat-solver/src/repodata.h Mon Feb 18 22:40:07 2008 @@ -119,6 +119,7 @@ int repodata_lookup_num(Repodata *data, Id entry, Id keyid, unsigned *value); void repodata_extend(Repodata *data, Id p); +void repodata_free(Repodata *data); void repodata_set_id(Repodata *data, Id entry, Id keyname, Id id); void repodata_set_num(Repodata *data, Id entry, Id keyname, Id num); -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org