return set;
}
-RAZOR_EXPORT void
+RAZOR_EXPORT int
razor_set_open_details(struct razor_set *set, const char *filename)
{
struct razor_set_section *s;
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))
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;
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))
array->alloc = s->size;
}
close(fd);
+
+ return 0;
}
RAZOR_EXPORT void
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);
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);
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);
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);
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)) {
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);
/* 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)) {