diff -r 3f841a46eab5 -r 48e45439fd9a librazor/importer.c --- a/librazor/importer.c Fri Oct 17 10:10:57 2014 +0100 +++ b/librazor/importer.c Mon Jul 04 13:04:19 2016 +0100 @@ -1,7 +1,7 @@ /* * Copyright (C) 2008 Kristian Høgsberg * Copyright (C) 2008 Red Hat, Inc - * Copyright (C) 2009 J. Ali Harlow + * Copyright (C) 2009, 2016 J. Ali Harlow * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -60,7 +60,28 @@ RAZOR_EXPORT void razor_importer_destroy(struct razor_importer *importer) { - /* FIXME: write this */ + struct import_entry *e, *end; + + razor_set_unref(importer->set); + hashtable_release(&importer->table); + hashtable_release(&importer->details_table); + hashtable_release(&importer->file_table); + + e = importer->files.data; + end = importer->files.data + importer->files.size; + while (e < end) { + free(e->name); + e++; + } + array_release(&importer->files); + array_release(&importer->file_requires); + + if (importer->package) { + array_release(&importer->properties); + array_release(&importer->install_prefixes); + } + + free(importer); } @@ -125,6 +146,8 @@ array_release(&importer->properties); array_release(&importer->install_prefixes); + + importer->package = NULL; } /**