librazor/razor.c
changeset 301 4124c37fd953
parent 298 ddc35bb593ef
child 302 9b71b537d175
     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