1.1 --- a/librazor/razor.c Thu Jun 26 10:37:45 2008 -0400
1.2 +++ b/librazor/razor.c Thu Jun 26 17:16:13 2008 -0400
1.3 @@ -119,7 +119,7 @@
1.4 return set;
1.5 }
1.6
1.7 -RAZOR_EXPORT void
1.8 +RAZOR_EXPORT int
1.9 razor_set_open_details(struct razor_set *set, const char *filename)
1.10 {
1.11 struct razor_set_section *s;
1.12 @@ -129,10 +129,10 @@
1.13
1.14 fd = open(filename, O_RDONLY);
1.15 if (fstat(fd, &stat) < 0)
1.16 - return;
1.17 + return -1;
1.18 set->details_header = mmap(NULL, stat.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
1.19 if (set->details_header == MAP_FAILED)
1.20 - return;
1.21 + return -1;
1.22
1.23 for (s = set->details_header->sections; ~s->type; s++) {
1.24 if (s->type >= ARRAY_SIZE(razor_details_sections))
1.25 @@ -145,9 +145,11 @@
1.26 array->alloc = s->size;
1.27 }
1.28 close(fd);
1.29 +
1.30 + return 0;
1.31 }
1.32
1.33 -RAZOR_EXPORT void
1.34 +RAZOR_EXPORT int
1.35 razor_set_open_files(struct razor_set *set, const char *filename)
1.36 {
1.37 struct razor_set_section *s;
1.38 @@ -157,10 +159,10 @@
1.39
1.40 fd = open(filename, O_RDONLY);
1.41 if (fstat(fd, &stat) < 0)
1.42 - return;
1.43 + return -1;
1.44 set->files_header = mmap(NULL, stat.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
1.45 if (set->files_header == MAP_FAILED)
1.46 - return;
1.47 + return -1;
1.48
1.49 for (s = set->files_header->sections; ~s->type; s++) {
1.50 if (s->type >= ARRAY_SIZE(razor_files_sections))
1.51 @@ -173,6 +175,8 @@
1.52 array->alloc = s->size;
1.53 }
1.54 close(fd);
1.55 +
1.56 + return 0;
1.57 }
1.58
1.59 RAZOR_EXPORT void
2.1 --- a/librazor/razor.h Thu Jun 26 10:37:45 2008 -0400
2.2 +++ b/librazor/razor.h Thu Jun 26 17:16:13 2008 -0400
2.3 @@ -77,8 +77,8 @@
2.4 int razor_set_write(struct razor_set *set, const char *filename,
2.5 enum razor_repo_file_type type);
2.6
2.7 -void razor_set_open_details(struct razor_set *set, const char *filename);
2.8 -void razor_set_open_files(struct razor_set *set, const char *filename);
2.9 +int razor_set_open_details(struct razor_set *set, const char *filename);
2.10 +int razor_set_open_files(struct razor_set *set, const char *filename);
2.11
2.12 struct razor_package *
2.13 razor_set_get_package(struct razor_set *set, const char *package);
3.1 --- a/src/main.c Thu Jun 26 10:37:45 2008 -0400
3.2 +++ b/src/main.c Thu Jun 26 17:16:13 2008 -0400
3.3 @@ -198,9 +198,11 @@
3.4 struct razor_set *set;
3.5
3.6 set = razor_set_open(repo_filename);
3.7 - razor_set_open_files(set, "system-files.repo");
3.8 if (set == NULL)
3.9 return 1;
3.10 + if (razor_set_open_files(set, "system-files.repo"))
3.11 + return 1;
3.12 +
3.13 razor_set_list_files(set, argv[0]);
3.14 razor_set_destroy(set);
3.15
3.16 @@ -214,9 +216,10 @@
3.17 struct razor_package_iterator *pi;
3.18
3.19 set = razor_set_open(repo_filename);
3.20 - razor_set_open_files(set, "system-files.repo");
3.21 if (set == NULL)
3.22 return 1;
3.23 + if (razor_set_open_files(set, "system-files.repo"))
3.24 + return 1;
3.25
3.26 pi = razor_package_iterator_create_for_file(set, argv[0]);
3.27 list_packages(pi, 0);
3.28 @@ -233,9 +236,11 @@
3.29 struct razor_set *set;
3.30
3.31 set = razor_set_open(repo_filename);
3.32 - razor_set_open_files(set, "system-files.repo");
3.33 if (set == NULL)
3.34 return 1;
3.35 + if (razor_set_open_files(set, "system-files.repo"))
3.36 + return 1;
3.37 +
3.38 razor_set_list_package_files(set, argv[0]);
3.39 razor_set_destroy(set);
3.40
3.41 @@ -824,7 +829,10 @@
3.42 const char *summary, *description, *url, *license;
3.43
3.44 set = razor_set_open(repo_filename);
3.45 - razor_set_open_details(set, "system-details.repo");
3.46 + if (set == NULL)
3.47 + return 1;
3.48 + if (razor_set_open_details(set, "system-details.repo"))
3.49 + return 1;
3.50 pi = razor_package_iterator_create(set);
3.51 while (razor_package_iterator_next(pi, &package,
3.52 &name, &version, &arch)) {
4.1 --- a/src/rpm.c Thu Jun 26 10:37:45 2008 -0400
4.2 +++ b/src/rpm.c Thu Jun 26 17:16:13 2008 -0400
4.3 @@ -350,7 +350,8 @@
4.4
4.5 files = "install/var/lib/razor/system-files.repo";
4.6 if (option_file)
4.7 - razor_set_open_files(set, files);
4.8 + if (razor_set_open_files(set, files))
4.9 + exit(1);
4.10
4.11 query = razor_package_query_create(set);
4.12
4.13 @@ -479,10 +480,12 @@
4.14 /* FIXME: We need to figure out how to do this right. */
4.15 details = "install/var/lib/razor/system-details.repo";
4.16 if (option_info)
4.17 - razor_set_open_details(set, details);
4.18 + if (razor_set_open_details(set, details))
4.19 + return;
4.20 files = "install/var/lib/razor/system-files.repo";
4.21 if (option_list)
4.22 - razor_set_open_files(set, files);
4.23 + if (razor_set_open_files(set, files))
4.24 + return;
4.25
4.26 while (razor_package_iterator_next(pi, &package,
4.27 &name, &version, &arch)) {