basic: add helper function to print </==/>

This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2022-05-25 15:58:02 +02:00
parent c20b2f2421
commit f90ee9ff66
3 changed files with 6 additions and 2 deletions

View File

@@ -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.

View File

@@ -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 */

View File

@@ -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);