1.1 --- a/librazor/razor.c Sat Jun 28 19:22:55 2008 -0400
1.2 +++ b/librazor/razor.c Sun Jun 29 17:32:19 2008 +0100
1.3 @@ -32,6 +32,7 @@
1.4 #include <errno.h>
1.5 #include <ctype.h>
1.6 #include <fnmatch.h>
1.7 +#include <assert.h>
1.8
1.9 #include "razor-internal.h"
1.10 #include "razor.h"
1.11 @@ -127,6 +128,9 @@
1.12 struct array *array;
1.13 int fd;
1.14
1.15 + assert (set != NULL);
1.16 + assert (filename != NULL);
1.17 +
1.18 fd = open(filename, O_RDONLY);
1.19 if (fstat(fd, &stat) < 0)
1.20 return -1;
1.21 @@ -157,6 +161,9 @@
1.22 struct array *array;
1.23 int fd;
1.24
1.25 + assert (set != NULL);
1.26 + assert (filename != NULL);
1.27 +
1.28 fd = open(filename, O_RDONLY);
1.29 if (fstat(fd, &stat) < 0)
1.30 return -1;
1.31 @@ -186,6 +193,8 @@
1.32 struct array *a;
1.33 int i;
1.34
1.35 + assert (set != NULL);
1.36 +
1.37 if (set->header) {
1.38 for (i = 0; set->header->sections[i].type; i++)
1.39 ;
1.40 @@ -340,6 +349,9 @@
1.41 long n1, n2;
1.42 int res;
1.43
1.44 + assert (s1 != NULL);
1.45 + assert (s2 != NULL);
1.46 +
1.47 n1 = strtol(s1, (char **) &p1, 10);
1.48 n2 = strtol(s2, (char **) &p2, 10);
1.49
1.50 @@ -377,6 +389,9 @@
1.51 struct razor_package *p;
1.52 const char *name, *version, *arch;
1.53
1.54 + assert (set != NULL);
1.55 + assert (package != NULL);
1.56 +
1.57 pi = razor_package_iterator_create(set);
1.58 while (razor_package_iterator_next(pi, &p, &name, &version, &arch)) {
1.59 if (strcmp(package, name) == 0)
1.60 @@ -395,6 +410,9 @@
1.61 {
1.62 const char *pool = set->details_string_pool.data;
1.63
1.64 + assert (set != NULL);
1.65 + assert (package != NULL);
1.66 +
1.67 if (summary != NULL)
1.68 *summary = &pool[package->summary];
1.69 if (description != NULL)
1.70 @@ -408,6 +426,8 @@
1.71 RAZOR_EXPORT const char *
1.72 razor_property_relation_to_string(struct razor_property *p)
1.73 {
1.74 + assert (p != NULL);
1.75 +
1.76 switch (p->flags & RAZOR_PROPERTY_RELATION_MASK) {
1.77 case RAZOR_PROPERTY_LESS:
1.78 return "<";
1.79 @@ -432,6 +452,8 @@
1.80 RAZOR_EXPORT const char *
1.81 razor_property_type_to_string(struct razor_property *p)
1.82 {
1.83 + assert (p != NULL);
1.84 +
1.85 switch (p->flags & RAZOR_PROPERTY_TYPE_MASK) {
1.86 case RAZOR_PROPERTY_REQUIRES:
1.87 return "requires";
1.88 @@ -454,6 +476,10 @@
1.89 const char *n, *pool = set->file_string_pool.data;
1.90 int len;
1.91
1.92 + assert (set != NULL);
1.93 + assert (dir != NULL);
1.94 + assert (pattern != NULL);
1.95 +
1.96 e = (struct razor_entry *) set->files.data + dir->start;
1.97 do {
1.98 n = pool + e->name;
1.99 @@ -498,6 +524,8 @@
1.100 struct razor_entry *e;
1.101 char buffer[512], *p, *base;
1.102
1.103 + assert (set != NULL);
1.104 +
1.105 if (pattern == NULL || !strcmp (pattern, "/")) {
1.106 buffer[0] = '\0';
1.107 list_dir(set, set->files.data, buffer, NULL);
1.108 @@ -585,6 +613,9 @@
1.109 uint32_t end;
1.110 char buffer[512];
1.111
1.112 + assert (set != NULL);
1.113 + assert (name != NULL);
1.114 +
1.115 package = razor_set_get_package(set, name);
1.116 /* TODO: we should return the error to the caller */
1.117 if (!package)
1.118 @@ -610,6 +641,9 @@
1.119 const char *name1, *name2, *version1, *version2, *arch1, *arch2;
1.120 int res;
1.121
1.122 + assert (set != NULL);
1.123 + assert (upstream != NULL);
1.124 +
1.125 pi1 = razor_package_iterator_create(set);
1.126 pi2 = razor_package_iterator_create(upstream);
1.127
1.128 @@ -663,6 +697,9 @@
1.129 struct razor_package_query *query;
1.130 struct razor_package_iterator *pi;
1.131
1.132 + assert (set != NULL);
1.133 + assert (next != NULL);
1.134 +
1.135 query = razor_package_query_create(set);
1.136 razor_set_diff(next, set, add_new_package, query);
1.137
1.138 @@ -683,6 +720,9 @@
1.139 struct razor_package_query *query;
1.140 struct razor_package_iterator *pi;
1.141
1.142 + assert (set != NULL);
1.143 + assert (next != NULL);
1.144 +
1.145 query = razor_package_query_create(next);
1.146 razor_set_diff(set, next, add_new_package, query);
1.147