librazor/rpm.c
changeset 427 08b9c2e3cb37
parent 424 8cbc438cc298
child 442 c4bcba8023a9
     1.1 --- a/librazor/rpm.c	Thu Feb 16 17:33:47 2012 +0000
     1.2 +++ b/librazor/rpm.c	Mon Feb 20 19:28:38 2012 +0000
     1.3 @@ -602,28 +602,24 @@
     1.4  }
     1.5  
     1.6  RAZOR_EXPORT struct razor_rpm *
     1.7 -razor_rpm_open(const char *filename, struct razor_atomic *atomic)
     1.8 +razor_rpm_open(const char *filename, struct razor_error **error)
     1.9  {
    1.10  	struct razor_rpm *rpm;
    1.11  	struct rpm_header_index *base, *index;
    1.12 -	struct razor_error *error = NULL;
    1.13  	unsigned int count, i, nindex, hsize;
    1.14  	const char *name, *prefix;
    1.15 -	char *s;
    1.16  
    1.17  	assert (filename != NULL);
    1.18  
    1.19  	rpm = zalloc(sizeof *rpm);
    1.20  	if (rpm == NULL) {
    1.21 -		razor_atomic_abort(atomic, "Not enough memory");
    1.22 +		razor_set_error(error, NULL, "Not enough memory");
    1.23  		return NULL;
    1.24  	}
    1.25  	memset(rpm, 0, sizeof *rpm);
    1.26  
    1.27 -	rpm->map = razor_file_get_contents(filename, &rpm->size, 0, &error);
    1.28 +	rpm->map = razor_file_get_contents(filename, &rpm->size, 0, error);
    1.29  	if (!rpm->map) {
    1.30 -		razor_atomic_abort(atomic, razor_error_get_msg(error));
    1.31 -		razor_error_free(error);
    1.32  		free(rpm);
    1.33  		return NULL;
    1.34  	}
    1.35 @@ -654,10 +650,8 @@
    1.36  					      &count);
    1.37  		if (name) {
    1.38  			razor_rpm_close(rpm);
    1.39 -			s = razor_concat(filename,
    1.40 -					 ": Old filenames not supported", NULL);
    1.41 -			razor_atomic_abort(atomic, s);
    1.42 -			free(s);
    1.43 +			razor_set_error(error, filename,
    1.44 +					"Old filenames not supported");
    1.45  			return NULL;
    1.46  		}
    1.47  	}
    1.48 @@ -676,11 +670,8 @@
    1.49  						&count);
    1.50  		if (prefix) {
    1.51  			razor_rpm_close(rpm);
    1.52 -			s = razor_concat(filename,
    1.53 -					 ": Default prefix not supported",
    1.54 -					 NULL);
    1.55 -			razor_atomic_abort(atomic, s);
    1.56 -			free(s);
    1.57 +			razor_set_error(error, filename,
    1.58 +					"Default prefix not supported");
    1.59  			return NULL;
    1.60  		}
    1.61  	}