# HG changeset patch # User James Bowes # Date 1214514973 14400 # Node ID 75da311eda4591f1c5da948b96382eb575428905 # Parent 026c47621214f555c502e8d5a6b5c21ddb4ee56a Add return codes to razor_set_open_files and open_details diff -r 026c47621214 -r 75da311eda45 librazor/razor.c --- a/librazor/razor.c Thu Jun 26 10:37:45 2008 -0400 +++ b/librazor/razor.c Thu Jun 26 17:16:13 2008 -0400 @@ -119,7 +119,7 @@ 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 @@ 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 @@ 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 @@ 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 @@ array->alloc = s->size; } close(fd); + + return 0; } RAZOR_EXPORT void diff -r 026c47621214 -r 75da311eda45 librazor/razor.h --- a/librazor/razor.h Thu Jun 26 10:37:45 2008 -0400 +++ b/librazor/razor.h Thu Jun 26 17:16:13 2008 -0400 @@ -77,8 +77,8 @@ 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); diff -r 026c47621214 -r 75da311eda45 src/main.c --- a/src/main.c Thu Jun 26 10:37:45 2008 -0400 +++ b/src/main.c Thu Jun 26 17:16:13 2008 -0400 @@ -198,9 +198,11 @@ 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 @@ 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 @@ 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 @@ 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)) { diff -r 026c47621214 -r 75da311eda45 src/rpm.c --- a/src/rpm.c Thu Jun 26 10:37:45 2008 -0400 +++ b/src/rpm.c Thu Jun 26 17:16:13 2008 -0400 @@ -350,7 +350,8 @@ 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 @@ /* 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)) {