diff -r 6fa783097ca1 -r 8cbc438cc298 librazor/rpm.c --- a/librazor/rpm.c Sat Feb 11 09:49:58 2012 +0000 +++ b/librazor/rpm.c Thu Feb 16 17:33:47 2012 +0000 @@ -606,6 +606,7 @@ { struct razor_rpm *rpm; struct rpm_header_index *base, *index; + struct razor_error *error = NULL; unsigned int count, i, nindex, hsize; const char *name, *prefix; char *s; @@ -619,11 +620,10 @@ } memset(rpm, 0, sizeof *rpm); - rpm->map = razor_file_get_contents(filename, &rpm->size); + rpm->map = razor_file_get_contents(filename, &rpm->size, 0, &error); if (!rpm->map) { - s = razor_concat(filename, ": ", strerror(errno), NULL); - razor_atomic_abort(atomic, s); - free(s); + razor_atomic_abort(atomic, razor_error_get_msg(error)); + razor_error_free(error); free(rpm); return NULL; } @@ -1138,7 +1138,7 @@ struct cpio_file_header *header; struct stat buf; unsigned int mode; - const char *path, *name; + const char *path; size_t filesize; char *s; int retval = 0; @@ -1153,7 +1153,7 @@ /* FIXME: Only do this before a transaction, not per rpm. */ if (*root && (stat(root, &buf) < 0 || !S_ISDIR(buf.st_mode))) { s = razor_concat(root, ": Directory does not exist", NULL); - razor_atomic_abort(stderr, s); + razor_atomic_abort(atomic, s); free(s); return -1; }