diff options
-rw-r--r-- | src/analyze/analyze-compare-versions.c | 2 | ||||
-rw-r--r-- | src/fundamental/string-util-fundamental.h | 4 | ||||
-rw-r--r-- | src/test/test-string-util.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/analyze/analyze-compare-versions.c b/src/analyze/analyze-compare-versions.c index acc9bbfcf0..9d9f7ed3cb 100644 --- a/src/analyze/analyze-compare-versions.c +++ b/src/analyze/analyze-compare-versions.c @@ -17,7 +17,7 @@ int verb_compare_versions(int argc, char *argv[], void *userdata) { r = strverscmp_improved(ASSERT_PTR(argv[1]), ASSERT_PTR(argv[2])); printf("%s %s %s\n", isempty(argv[1]) ? "''" : argv[1], - r < 0 ? "<" : r > 0 ? ">" : "==", + comparison_operator(r), isempty(argv[2]) ? "''" : argv[2]); /* This matches the exit convention used by rpmdev-vercmp. diff --git a/src/fundamental/string-util-fundamental.h b/src/fundamental/string-util-fundamental.h index 101c2ae1b6..01df4ce17a 100644 --- a/src/fundamental/string-util-fundamental.h +++ b/src/fundamental/string-util-fundamental.h @@ -76,6 +76,10 @@ static inline const sd_char *yes_no(sd_bool b) { return b ? STR_C("yes") : STR_C("no"); } +static inline const sd_char* comparison_operator(int result) { + return result < 0 ? STR_C("<") : result > 0 ? STR_C(">") : STR_C("=="); +} + sd_int strverscmp_improved(const sd_char *a, const sd_char *b); /* Like startswith(), but operates on arbitrary memory blocks */ diff --git a/src/test/test-string-util.c b/src/test/test-string-util.c index 1054f9ea31..902d431d9a 100644 --- a/src/test/test-string-util.c +++ b/src/test/test-string-util.c @@ -835,7 +835,7 @@ static void test_strverscmp_improved_one(const char* a, const char *b, int expec log_info("'%s' %s '%s'%s", strnull(a), - r > 0 ? ">" : r < 0 ? "<" : "==", + comparison_operator(r), strnull(b), r == expected ? "" : " !!!!!!!!!!!!!"); assert_se(r == expected); |