1.1 --- a/src/main.c Thu Feb 16 17:44:25 2012 +0000
1.2 +++ b/src/main.c Wed Aug 20 18:56:17 2014 +0100
1.3 @@ -699,6 +699,7 @@
1.4 struct razor_importer *importer;
1.5 struct razor_set *set;
1.6 struct razor_rpm *rpm;
1.7 + struct razor_error *error=NULL;
1.8 struct razor_atomic *atomic;
1.9 int len, imported_count = 0;
1.10 char filename[256];
1.11 @@ -724,14 +725,13 @@
1.12 continue;
1.13 snprintf(filename, sizeof filename,
1.14 "%s/%s", dirname, de->d_name);
1.15 - atomic = razor_atomic_open("Read RPM");
1.16 - rpm = razor_rpm_open(filename, atomic);
1.17 - if (rpm == NULL)
1.18 - fprintf(stderr, "%s\n",
1.19 - razor_atomic_get_error_msg(atomic));
1.20 - razor_atomic_destroy(atomic);
1.21 - if (rpm == NULL)
1.22 + rpm = razor_rpm_open(filename, &error);
1.23 + if (rpm == NULL) {
1.24 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.25 + razor_error_free(error);
1.26 + error=NULL;
1.27 continue;
1.28 + }
1.29 if (razor_importer_add_rpm(importer, rpm)) {
1.30 fprintf(stderr, "couldn't import %s\n", filename);
1.31 break;
1.32 @@ -830,6 +830,7 @@
1.33 struct razor_package *package;
1.34 struct razor_property *property;
1.35 struct razor_rpm *rpm;
1.36 + struct razor_error *error=NULL;
1.37 const char *name, *version, *arch, *summary, *desc, *url, *license;
1.38 const char *preunprog, *preun, *postunprog, *postun;
1.39 const char *install_prefix;
1.40 @@ -856,9 +857,11 @@
1.41 s = rpm_filename(name, version, arch);
1.42 file = razor_concat("rpms/", s, NULL);
1.43 free(s);
1.44 - rpm = razor_rpm_open(file, atomic);
1.45 + rpm = razor_rpm_open(file, &error);
1.46 free(file);
1.47 if (rpm == NULL) {
1.48 + razor_atomic_abort(atomic, razor_error_get_msg(error));
1.49 + razor_error_free(error);
1.50 razor_package_iterator_destroy(pkg_iter);
1.51 razor_importer_destroy(importer);
1.52 return NULL;
1.53 @@ -917,6 +920,7 @@
1.54 const char *name, *version, *arch;
1.55 char *file, *s;
1.56 struct razor_rpm *rpm;
1.57 + struct razor_error *error=NULL;
1.58
1.59 razor_package_get_details(set, package,
1.60 RAZOR_DETAIL_NAME, &name,
1.61 @@ -930,11 +934,12 @@
1.62 s = rpm_filename(name, version, arch);
1.63 file = razor_concat("rpms/", s, NULL);
1.64 free(s);
1.65 - rpm = razor_rpm_open(file, atomic);
1.66 + rpm = razor_rpm_open(file, &error);
1.67 free(file);
1.68 if (rpm == NULL) {
1.69 - fprintf(stderr, "%s\n",
1.70 - razor_atomic_get_error_msg(atomic));
1.71 + razor_atomic_abort(atomic, razor_error_get_msg(error));
1.72 + fprintf(stderr, "%s\n", razor_error_get_msg(error));
1.73 + razor_error_free(error);
1.74 return -1;
1.75 }
1.76 if (relocations)