diff options
author | James Bowes <jbowes@redhat.com> | 2008-06-26 17:16:13 -0400 |
---|---|---|
committer | James Bowes <jbowes@redhat.com> | 2008-06-26 17:16:13 -0400 |
commit | c57370decf4e204cf4e3323e669cc676a2760707 (patch) | |
tree | 6272c18f292a42f18223c71dd201caa497b4b098 | |
parent | 436386fb11ee56e50c2c76c496b1f6c39530e170 (diff) |
Add return codes to razor_set_open_files and open_details
-rw-r--r-- | librazor/razor.c | 16 | ||||
-rw-r--r-- | librazor/razor.h | 4 | ||||
-rw-r--r-- | src/main.c | 16 | ||||
-rw-r--r-- | src/rpm.c | 9 |
4 files changed, 30 insertions, 15 deletions
diff --git a/librazor/razor.c b/librazor/razor.c index 3bfee2f..b1d7a20 100644 --- a/librazor/razor.c +++ b/librazor/razor.c @@ -119,7 +119,7 @@ razor_set_open(const char *filename) return set; } -RAZOR_EXPORT void +RAZOR_EXPORT int razor_set_open_details(struct razor_set *set, const char *filename) { struct razor_set_section *s; @@ -129,10 +129,10 @@ razor_set_open_details(struct razor_set *set, const char *filename) fd = open(filename, O_RDONLY); if (fstat(fd, &stat) < 0) - return; + return -1; set->details_header = mmap(NULL, stat.st_size, PROT_READ, MAP_PRIVATE, fd, 0); if (set->details_header == MAP_FAILED) - return; + return -1; for (s = set->details_header->sections; ~s->type; s++) { if (s->type >= ARRAY_SIZE(razor_details_sections)) @@ -145,9 +145,11 @@ razor_set_open_details(struct razor_set *set, const char *filename) array->alloc = s->size; } close(fd); + + return 0; } -RAZOR_EXPORT void +RAZOR_EXPORT int razor_set_open_files(struct razor_set *set, const char *filename) { struct razor_set_section *s; @@ -157,10 +159,10 @@ razor_set_open_files(struct razor_set *set, const char *filename) fd = open(filename, O_RDONLY); if (fstat(fd, &stat) < 0) - return; + return -1; set->files_header = mmap(NULL, stat.st_size, PROT_READ, MAP_PRIVATE, fd, 0); if (set->files_header == MAP_FAILED) - return; + return -1; for (s = set->files_header->sections; ~s->type; s++) { if (s->type >= ARRAY_SIZE(razor_files_sections)) @@ -173,6 +175,8 @@ razor_set_open_files(struct razor_set *set, const char *filename) array->alloc = s->size; } close(fd); + + return 0; } RAZOR_EXPORT void diff --git a/librazor/razor.h b/librazor/razor.h index e5567f2..61edc1c 100644 --- a/librazor/razor.h +++ b/librazor/razor.h @@ -77,8 +77,8 @@ int razor_set_write_to_fd(struct razor_set *set, int fd, int razor_set_write(struct razor_set *set, const char *filename, enum razor_repo_file_type type); -void razor_set_open_details(struct razor_set *set, const char *filename); -void razor_set_open_files(struct razor_set *set, const char *filename); +int razor_set_open_details(struct razor_set *set, const char *filename); +int razor_set_open_files(struct razor_set *set, const char *filename); struct razor_package * razor_set_get_package(struct razor_set *set, const char *package); @@ -198,9 +198,11 @@ command_list_files(int argc, const char *argv[]) struct razor_set *set; set = razor_set_open(repo_filename); - razor_set_open_files(set, "system-files.repo"); if (set == NULL) return 1; + if (razor_set_open_files(set, "system-files.repo")) + return 1; + razor_set_list_files(set, argv[0]); razor_set_destroy(set); @@ -214,9 +216,10 @@ command_list_file_packages(int argc, const char *argv[]) struct razor_package_iterator *pi; set = razor_set_open(repo_filename); - razor_set_open_files(set, "system-files.repo"); if (set == NULL) return 1; + if (razor_set_open_files(set, "system-files.repo")) + return 1; pi = razor_package_iterator_create_for_file(set, argv[0]); list_packages(pi, 0); @@ -233,9 +236,11 @@ command_list_package_files(int argc, const char *argv[]) struct razor_set *set; set = razor_set_open(repo_filename); - razor_set_open_files(set, "system-files.repo"); if (set == NULL) return 1; + if (razor_set_open_files(set, "system-files.repo")) + return 1; + razor_set_list_package_files(set, argv[0]); razor_set_destroy(set); @@ -824,7 +829,10 @@ command_info(int argc, const char *argv[]) const char *summary, *description, *url, *license; set = razor_set_open(repo_filename); - razor_set_open_details(set, "system-details.repo"); + if (set == NULL) + return 1; + if (razor_set_open_details(set, "system-details.repo")) + return 1; pi = razor_package_iterator_create(set); while (razor_package_iterator_next(pi, &package, &name, &version, &arch)) { @@ -350,7 +350,8 @@ get_query_packages(struct razor_set *set, int argc, const char *argv[]) files = "install/var/lib/razor/system-files.repo"; if (option_file) - razor_set_open_files(set, files); + if (razor_set_open_files(set, files)) + exit(1); query = razor_package_query_create(set); @@ -479,10 +480,12 @@ command_query(int argc, const char *argv[]) /* FIXME: We need to figure out how to do this right. */ details = "install/var/lib/razor/system-details.repo"; if (option_info) - razor_set_open_details(set, details); + if (razor_set_open_details(set, details)) + return; files = "install/var/lib/razor/system-files.repo"; if (option_list) - razor_set_open_files(set, files); + if (razor_set_open_files(set, files)) + return; while (razor_package_iterator_next(pi, &package, &name, &version, &arch)) { |