From 648c39cf8edb9b6be8e24ba0ddcede8f630f8c30 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Tue, 26 Jul 2011 19:59:46 -0500 Subject: [PATCH] pkg: add pkg_get_comparator() --- pkg.c | 29 +++++++++++++++++++++++++++++ pkg.h | 1 + 2 files changed, 30 insertions(+) diff --git a/pkg.c b/pkg.c index 14adbfd..f9bfa72 100644 --- a/pkg.c +++ b/pkg.c @@ -142,6 +142,35 @@ pkg_compare_version(const char *a, const char *b) return 1; } +/* + * pkg_get_comparator(pkgdep) + * + * returns the comparator used in a depgraph dependency node as a string. + */ +const char * +pkg_get_comparator(pkg_dependency_t *pkgdep) +{ + switch(pkgdep->compare) + { + case PKG_LESS_THAN: + return "<"; + case PKG_GREATER_THAN: + return ">"; + case PKG_LESS_THAN_EQUAL: + return "<="; + case PKG_GREATER_THAN_EQUAL: + return ">="; + case PKG_EQUAL: + return "="; + case PKG_NOT_EQUAL: + return "!="; + case PKG_ANY: + return "(any)"; + } + + return "???"; +} + /* * pkg_verify_dependency(pkgdep) * diff --git a/pkg.h b/pkg.h index e817425..bc8cde0 100644 --- a/pkg.h +++ b/pkg.h @@ -93,6 +93,7 @@ void pkg_traverse(pkg_t *root, void (*pkg_traverse_func)(pkg_t *package, void *d void pkg_verify_graph(pkg_t *root, int depth); int pkg_compare_version(const char *a, const char *b); pkg_t *pkg_verify_dependency(pkg_dependency_t *pkgdep); +const char *pkg_get_comparator(pkg_dependency_t *pkgdep); /* parse.c */ pkg_t *parse_file(const char *path);