diff -r 97c12ddedfb3 -r 4124c37fd953 librazor/iterator.c --- a/librazor/iterator.c Mon Jun 23 21:20:16 2008 -0400 +++ b/librazor/iterator.c Sun Jun 29 17:32:19 2008 +0100 @@ -20,6 +20,8 @@ #define _GNU_SOURCE #include +#include + #include "razor-internal.h" #include "razor.h" @@ -48,6 +50,8 @@ { struct razor_package_iterator *pi; + assert (set != NULL); + pi = zalloc(sizeof *pi); pi->set = set; pi->end = set->packages.data + set->packages.size; @@ -61,6 +65,10 @@ struct razor_set *set, struct razor_property *property) { + assert (pi != NULL); + assert (set != NULL); + assert (property != NULL); + memset(pi, 0, sizeof *pi); pi->set = set; pi->index = list_first(&property->packages, &set->package_pool); @@ -72,6 +80,9 @@ { struct list *index; + assert (set != NULL); + assert (property != NULL); + index = list_first(&property->packages, &set->package_pool); return razor_package_iterator_create_with_index(set, index); } @@ -83,6 +94,9 @@ struct razor_entry *entry; struct list *index; + assert (set != NULL); + assert (filename != NULL); + entry = razor_set_find_entry(set, set->files.data, filename); if (entry == NULL) return razor_package_iterator_create_empty(set); @@ -102,6 +116,8 @@ int valid; struct razor_package *p, *packages; + assert (pi != NULL); + if (pi->package) { p = pi->package++; valid = p < pi->end; @@ -129,6 +145,8 @@ RAZOR_EXPORT void razor_package_iterator_destroy(struct razor_package_iterator *pi) { + assert (pi != NULL); + if (pi->free_index) free(pi->index); @@ -141,6 +159,9 @@ { struct razor_property_iterator *pi; + assert (set != NULL); + assert (package != NULL); + pi = zalloc(sizeof *pi); pi->set = set; @@ -166,6 +187,8 @@ int valid; struct razor_property *p, *properties; + assert (pi != NULL); + if (pi->property) { p = pi->property++; valid = p < pi->end; @@ -208,6 +231,8 @@ struct razor_package_query *pq; int count; + assert (set != NULL); + pq = zalloc(sizeof *pq); pq->set = set; count = set->packages.size / sizeof(struct razor_package); @@ -222,6 +247,9 @@ { struct razor_package *packages; + assert (pq != NULL); + assert (p != NULL); + packages = pq->set->packages.data; pq->count += pq->vector[p - packages] ^ 1; pq->vector[p - packages] = 1; @@ -234,6 +262,9 @@ struct razor_package *packages, *p; const char *name, *version, *arch; + assert (pq != NULL); + assert (pi != NULL); + packages = pq->set->packages.data; while (razor_package_iterator_next(pi, &p, &name, &version, &arch)) { pq->count += pq->vector[p - packages] ^ 1; @@ -249,6 +280,8 @@ struct list *index; int i, j; + assert (pq != NULL); + set = pq->set; if (pq->count > 0) index = zalloc(pq->count * sizeof *index);