1.1 --- a/librazor/rpm.c Sat Feb 11 09:49:58 2012 +0000
1.2 +++ b/librazor/rpm.c Thu Feb 16 17:44:25 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 }