diff options
author | Richard Hughes <richard@hughsie.com> | 2008-07-01 09:22:25 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2008-07-01 09:22:25 +0100 |
commit | a6a8f407fb539a884a132f3289919aeb4a8d78df (patch) | |
tree | a6accbfdef755d24f248e73231fdc67ee9cb4393 | |
parent | 27e3b5098d6c01d978cb5d530ea98f5f4069b25d (diff) |
convert the NULL sentinel to RAZOR_DETAIL_LAST
-rw-r--r-- | librazor/iterator.c | 6 | ||||
-rw-r--r-- | librazor/razor.c | 14 | ||||
-rw-r--r-- | librazor/razor.h | 16 | ||||
-rw-r--r-- | librazor/transaction.c | 24 | ||||
-rw-r--r-- | src/main.c | 40 | ||||
-rw-r--r-- | src/rpm.c | 17 | ||||
-rw-r--r-- | src/test-driver.c | 5 |
7 files changed, 74 insertions, 48 deletions
diff --git a/librazor/iterator.c b/librazor/iterator.c index 6b973b0..4908d53 100644 --- a/librazor/iterator.c +++ b/librazor/iterator.c @@ -114,7 +114,9 @@ razor_package_iterator_create_for_file(struct razor_set *set, * Gets the next iteratr along with any vararg data. * The vararg must be terminated with NULL. * - * Example: razor_package_iterator_next (pi, package, RAZOR_DETAIL_NAME, &name, 0); + * Example: razor_package_iterator_next (pi, package, + * RAZOR_DETAIL_NAME, &name, + * RAZOR_DETAIL_LAST); **/ RAZOR_EXPORT int razor_package_iterator_next(struct razor_package_iterator *pi, @@ -273,7 +275,7 @@ razor_package_query_add_iterator(struct razor_package_query *pq, assert (pi != NULL); packages = pq->set->packages.data; - while (razor_package_iterator_next(pi, &p, NULL)) { + while (razor_package_iterator_next(pi, &p, RAZOR_DETAIL_LAST)) { pq->count += pq->vector[p - packages] ^ 1; pq->vector[p - packages] = 1; } diff --git a/librazor/razor.c b/librazor/razor.c index d6f8331..7d18205 100644 --- a/librazor/razor.c +++ b/librazor/razor.c @@ -442,7 +442,7 @@ razor_package_get_details_varg(struct razor_set *set, for (i = 0;; i += 2) { type = va_arg(args, enum razor_detail_type); - if (type == 0) + if (type == RAZOR_DETAIL_LAST) break; data = va_arg(args, const char **); *data = razor_package_get_details_type(set, package, type); @@ -458,7 +458,9 @@ razor_package_get_details_varg(struct razor_set *set, * Gets details about a package using a varg interface * The vararg must be terminated with %NULL. * - * Example: razor_package_get_details (set, package, RAZOR_DETAIL_URL, &url, 0); + * Example: razor_package_get_details (set, package, + * RAZOR_DETAIL_URL, &url, + * RAZOR_DETAIL_LAST); **/ RAZOR_EXPORT void razor_package_get_details(struct razor_set *set, struct razor_package *package, ...) @@ -696,12 +698,12 @@ razor_set_diff(struct razor_set *set, struct razor_set *upstream, RAZOR_DETAIL_NAME, &name1, RAZOR_DETAIL_VERSION, &version1, RAZOR_DETAIL_ARCH, &arch1, - NULL); + RAZOR_DETAIL_LAST); razor_package_iterator_next(pi2, &p2, RAZOR_DETAIL_NAME, &name2, RAZOR_DETAIL_VERSION, &version2, RAZOR_DETAIL_ARCH, &arch2, - NULL); + RAZOR_DETAIL_LAST); while (p1 || p2) { if (p1 && p2) { @@ -724,13 +726,13 @@ razor_set_diff(struct razor_set *set, struct razor_set *upstream, RAZOR_DETAIL_NAME, &name1, RAZOR_DETAIL_VERSION, &version1, RAZOR_DETAIL_ARCH, &arch1, - NULL); + RAZOR_DETAIL_LAST); if (p2 != NULL && res >= 0) razor_package_iterator_next(pi2, &p2, RAZOR_DETAIL_NAME, &name2, RAZOR_DETAIL_VERSION, &version2, RAZOR_DETAIL_ARCH, &arch2, - NULL); + RAZOR_DETAIL_LAST); } razor_package_iterator_destroy(pi1); diff --git a/librazor/razor.h b/librazor/razor.h index 096aa31..6cf1d8f 100644 --- a/librazor/razor.h +++ b/librazor/razor.h @@ -22,13 +22,6 @@ #include <stdint.h> -/* GCC sentinel */ -#if defined(__GNUC__) && __GNUC__ >= 4 -#define RAZOR_SENTINEL __attribute__ ((__sentinel__(0))); -#else -#define RAZOR_SENTINEL -#endif - enum razor_repo_file_type { RAZOR_REPO_FILE_MAIN, RAZOR_REPO_FILE_DETAILS, @@ -36,7 +29,8 @@ enum razor_repo_file_type { }; enum razor_detail_type { - RAZOR_DETAIL_NAME = 1, /* NULL (0 on 32 bit) is the sentinel */ + RAZOR_DETAIL_LAST = 0, /* the sentinel */ + RAZOR_DETAIL_NAME, RAZOR_DETAIL_VERSION, RAZOR_DETAIL_ARCH, RAZOR_DETAIL_SUMMARY, @@ -102,8 +96,7 @@ razor_set_get_package(struct razor_set *set, const char *package); void razor_package_get_details(struct razor_set *set, - struct razor_package *package, ...) - RAZOR_SENTINEL; + struct razor_package *package, ...); /** @@ -153,8 +146,7 @@ razor_package_iterator_create_for_file(struct razor_set *set, const char *filename); int razor_package_iterator_next(struct razor_package_iterator *pi, - struct razor_package **package, ...) - RAZOR_SENTINEL; + struct razor_package **package, ...); void razor_package_iterator_destroy(struct razor_package_iterator *pi); struct razor_package_query * diff --git a/librazor/transaction.c b/librazor/transaction.c index 1e91cae..0abd6e1 100644 --- a/librazor/transaction.c +++ b/librazor/transaction.c @@ -318,7 +318,8 @@ remove_matching_providers(struct razor_transaction *trans, razor_package_iterator_init_for_property(&pkg_iter, set, p); while (razor_package_iterator_next(&pkg_iter, &pkg, RAZOR_DETAIL_NAME, &n, - RAZOR_DETAIL_VERSION, &v, NULL)) { + RAZOR_DETAIL_VERSION, &v, + RAZOR_DETAIL_LAST)) { fprintf(stderr, "removing %s-%s\n", n, v); razor_transaction_remove_package(trans, pkg); } @@ -364,7 +365,8 @@ flag_matching_providers(struct razor_transaction *trans, razor_package_iterator_init_for_property(&pkg_iter, set, p); while (razor_package_iterator_next(&pkg_iter, &pkg, RAZOR_DETAIL_NAME, &name, - RAZOR_DETAIL_VERSION, &version, NULL)) { + RAZOR_DETAIL_VERSION, &version, + RAZOR_DETAIL_LAST)) { fprintf(stderr, "flagging %s-%s for providing %s matching %s %s\n", name, version, @@ -526,7 +528,8 @@ update_unsatisfied_packages(struct razor_transaction *trans) trans->system.set, sp); while (razor_package_iterator_next(&pkg_iter, &pkg, - RAZOR_DETAIL_NAME, &name, NULL)) { + RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_LAST)) { fprintf(stderr, "updating %s because %s %s %s " "isn't satisfied\n", name, spi.pool + sp->name, @@ -578,7 +581,8 @@ update_conflicted_packages(struct razor_transaction *trans) sp); while (razor_package_iterator_next(&pkg_iter, &pkg, RAZOR_DETAIL_NAME, &name, - RAZOR_DETAIL_VERSION, &version, NULL)) { + RAZOR_DETAIL_VERSION, &version, + RAZOR_DETAIL_LAST)) { fprintf(stderr, "updating %s %s because it " "conflicts with %s\n", name, version, spi.pool + sp->name); @@ -668,7 +672,8 @@ flush_scheduled_system_updates(struct razor_transaction *trans) while (razor_package_iterator_next(pi, &p, RAZOR_DETAIL_NAME, &name, - RAZOR_DETAIL_VERSION, &version, NULL)) { + RAZOR_DETAIL_VERSION, &version, + RAZOR_DETAIL_LAST)) { if (!(trans->system.packages[p - spkgs] & TRANS_PACKAGE_UPDATE)) continue; @@ -705,7 +710,8 @@ flush_scheduled_upstream_updates(struct razor_transaction *trans) while (razor_package_iterator_next(pi, &p, RAZOR_DETAIL_NAME, &name, - RAZOR_DETAIL_VERSION, &version, NULL)) { + RAZOR_DETAIL_VERSION, &version, + RAZOR_DETAIL_LAST)) { if (!(trans->upstream.packages[p - upkgs] & TRANS_PACKAGE_UPDATE)) continue; @@ -754,7 +760,8 @@ describe_unsatisfied(struct razor_set *set, struct razor_property *rp) while (razor_package_iterator_next(&pi, &pkg, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) fprintf(stderr, "%s is needed by %s-%s.%s\n", &pool[rp->name], name, version, arch); @@ -763,7 +770,8 @@ describe_unsatisfied(struct razor_set *set, struct razor_property *rp) while (razor_package_iterator_next(&pi, &pkg, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) fprintf(stderr, "%s %s %s is needed by %s-%s.%s\n", &pool[rp->name], razor_property_relation_to_string(rp), @@ -61,7 +61,9 @@ create_iterator_from_argv(struct razor_set *set, int argc, const char *argv[]) iter = razor_package_iterator_create(set); pattern = argv[i]; count = 0; - while (razor_package_iterator_next(iter, &package, RAZOR_DETAIL_NAME, &name, NULL)) { + while (razor_package_iterator_next(iter, &package, + RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_LAST)) { if (fnmatch(pattern, name, 0) != 0) continue; @@ -89,7 +91,8 @@ list_packages(struct razor_package_iterator *iter, uint32_t flags) while (razor_package_iterator_next(iter, &package, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) { + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { if (flags & LIST_PACKAGES_ONLY_NAMES) printf("%s\n", name); else @@ -167,7 +170,10 @@ list_properties(int argc, const char *argv[], uint32_t type) set = razor_set_open(repo_filename); pi = create_iterator_from_argv(set, argc, argv); while (razor_package_iterator_next(pi, &package, - &name, &version, &arch)) + RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_VERSION, &version, + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) list_package_properties(set, package, type); razor_package_iterator_destroy(pi); razor_set_destroy(set); @@ -253,7 +259,10 @@ command_list_package_files(int argc, const char *argv[]) pi = create_iterator_from_argv(set, argc, argv); while (razor_package_iterator_next(pi, &package, - &name, &version, &arch)) + RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_VERSION, &version, + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) razor_set_list_package_files(set, package); razor_package_iterator_destroy(pi); @@ -445,7 +454,8 @@ mark_packages_for_update(struct razor_transaction *trans, pi = razor_package_iterator_create(set); while (razor_package_iterator_next(pi, &package, - RAZOR_DETAIL_NAME, &name, NULL)) { + RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_LAST)) { if (pattern && fnmatch(pattern, name, 0) == 0) { razor_transaction_update_package(trans, package); matches++; @@ -466,7 +476,9 @@ mark_packages_for_removal(struct razor_transaction *trans, int matches = 0; pi = razor_package_iterator_create(set); - while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_NAME, &name, NULL)) { + while (razor_package_iterator_next(pi, &package, + RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_LAST)) { if (pattern && fnmatch(pattern, name, 0) == 0) { razor_transaction_remove_package(trans, package); matches++; @@ -676,7 +688,8 @@ download_packages(struct razor_set *system, struct razor_set *next) while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) { + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { snprintf(url, sizeof url, "%s/Packages/%s", yum_url, rpm_filename(name, version, arch)); @@ -708,7 +721,8 @@ install_packages(struct razor_set *system, struct razor_set *next) while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) { + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { printf("install %s-%s\n", name, version); snprintf(file, sizeof file, @@ -816,7 +830,8 @@ command_download(int argc, const char *argv[]) while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) { + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { if (pattern && fnmatch(pattern, name, 0) != 0) continue; @@ -859,7 +874,8 @@ command_info(int argc, const char *argv[]) while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) { + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { if (pattern && fnmatch(pattern, name, 0) != 0) continue; @@ -868,7 +884,7 @@ command_info(int argc, const char *argv[]) RAZOR_DETAIL_DESCRIPTION, &description, RAZOR_DETAIL_URL, &url, RAZOR_DETAIL_LICENSE, &license, - NULL); + RAZOR_DETAIL_LAST); printf ("Name: %s\n", name); printf ("Arch: %s\n", arch); @@ -920,7 +936,7 @@ command_search(int argc, const char *argv[]) RAZOR_DETAIL_DESCRIPTION, &description, RAZOR_DETAIL_URL, &url, RAZOR_DETAIL_LICENSE, &license, - NULL)) { + RAZOR_DETAIL_LAST)) { if (!fnmatch(pattern, name, FNM_CASEFOLD) || !fnmatch(pattern, url, FNM_CASEFOLD) || !fnmatch(pattern, summary, FNM_CASEFOLD) || @@ -313,7 +313,8 @@ add_command_line_packages(struct razor_set *set, pi = razor_package_iterator_create(set); while (razor_package_iterator_next(pi, &package, - RAZOR_DETAIL_NAME, &name, NULL)) { + RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_LAST)) { while (cmp = strcmp(argv[i], name), cmp < 0 && i < argc) { fprintf(stderr, "error: package %s is not installed\n", argv[i]); @@ -422,7 +423,7 @@ print_package_info(struct razor_set *set, struct razor_package *package, RAZOR_DETAIL_DESCRIPTION, &description, RAZOR_DETAIL_URL, &url, RAZOR_DETAIL_LICENSE, &license, - NULL); + RAZOR_DETAIL_LAST); printf("Name: %s\n", name); printf("Arch: %s\n", arch); @@ -494,7 +495,8 @@ command_query(int argc, const char *argv[]) while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) { + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { if (option_conflicts) print_package_properties(set, package, RAZOR_PROPERTY_CONFLICTS); @@ -548,7 +550,8 @@ command_verify(int argc, const char *argv[]) while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_NAME, &name, RAZOR_DETAIL_VERSION, &version, - RAZOR_DETAIL_ARCH, &arch, NULL)) { + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { printf("verify %s-%s.%s - not implemented\n", name, version, arch); } @@ -593,7 +596,7 @@ command_erase(int argc, const char *argv[]) add_command_line_packages(set, query, argc, argv); pi = razor_package_query_finish(query); - while (razor_package_iterator_next(pi, &package, NULL)) + while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_LAST)) razor_transaction_remove_package(trans, package); razor_package_iterator_destroy(pi); @@ -635,7 +638,7 @@ command_install(int argc, const char *argv[]) trans = razor_transaction_create(set, upstream); pi = razor_package_iterator_create(upstream); - while (razor_package_iterator_next(pi, &package, NULL)) + while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_LAST)) razor_transaction_install_package(trans, package); razor_package_iterator_destroy(pi); @@ -677,7 +680,7 @@ command_update(int argc, const char *argv[]) trans = razor_transaction_create(set, upstream); pi = razor_package_iterator_create(upstream); - while (razor_package_iterator_next(pi, &package, NULL)) + while (razor_package_iterator_next(pi, &package, RAZOR_DETAIL_LAST)) razor_transaction_update_package(trans, package); razor_package_iterator_destroy(pi); diff --git a/src/test-driver.c b/src/test-driver.c index bd7aa17..99b4d00 100644 --- a/src/test-driver.c +++ b/src/test-driver.c @@ -293,7 +293,10 @@ get_package(struct razor_set *set, const char *package) const char *name, *version, *arch; pi = razor_package_iterator_create(set); - while (razor_package_iterator_next(pi, &p, &name, &version, &arch)) { + while (razor_package_iterator_next(pi, &p, RAZOR_DETAIL_NAME, &name, + RAZOR_DETAIL_VERSION, &version, + RAZOR_DETAIL_ARCH, &arch, + RAZOR_DETAIL_LAST)) { if (strcmp(package, name) == 0) break; } |