librazor/rpm.c
changeset 424 8cbc438cc298
parent 422 6fa783097ca1
child 426 2e896ad9754b
     1.1 --- a/librazor/rpm.c	Sat Feb 11 09:49:58 2012 +0000
     1.2 +++ b/librazor/rpm.c	Thu Feb 16 17:33:47 2012 +0000
     1.3 @@ -606,6 +606,7 @@
     1.4  {
     1.5  	struct razor_rpm *rpm;
     1.6  	struct rpm_header_index *base, *index;
     1.7 +	struct razor_error *error = NULL;
     1.8  	unsigned int count, i, nindex, hsize;
     1.9  	const char *name, *prefix;
    1.10  	char *s;
    1.11 @@ -619,11 +620,10 @@
    1.12  	}
    1.13  	memset(rpm, 0, sizeof *rpm);
    1.14  
    1.15 -	rpm->map = razor_file_get_contents(filename, &rpm->size);
    1.16 +	rpm->map = razor_file_get_contents(filename, &rpm->size, 0, &error);
    1.17  	if (!rpm->map) {
    1.18 -		s = razor_concat(filename, ": ", strerror(errno), NULL);
    1.19 -		razor_atomic_abort(atomic, s);
    1.20 -		free(s);
    1.21 +		razor_atomic_abort(atomic, razor_error_get_msg(error));
    1.22 +		razor_error_free(error);
    1.23  		free(rpm);
    1.24  		return NULL;
    1.25  	}
    1.26 @@ -1138,7 +1138,7 @@
    1.27  	struct cpio_file_header *header;
    1.28  	struct stat buf;
    1.29  	unsigned int mode;
    1.30 -	const char *path, *name;
    1.31 +	const char *path;
    1.32  	size_t filesize;
    1.33  	char *s;
    1.34  	int retval = 0;
    1.35 @@ -1153,7 +1153,7 @@
    1.36  	/* FIXME: Only do this before a transaction, not per rpm. */
    1.37  	if (*root && (stat(root, &buf) < 0 || !S_ISDIR(buf.st_mode))) {
    1.38  		s = razor_concat(root, ": Directory does not exist", NULL);
    1.39 -		razor_atomic_abort(stderr, s);
    1.40 +		razor_atomic_abort(atomic, s);
    1.41  		free(s);
    1.42  		return -1;
    1.43  	}