summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-05-25 15:58:02 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-05-25 16:02:25 +0200
commitf90ee9ff6638ff5125d2aafe066fd5cc8e46932f (patch)
treec6766320945e191df1cc1f42769f2bcdf5d3a185 /src
parentanalyze: use '' instead of the empty string when showing versions (diff)
downloadsystemd-f90ee9ff6638ff5125d2aafe066fd5cc8e46932f.tar.xz
systemd-f90ee9ff6638ff5125d2aafe066fd5cc8e46932f.zip
basic: add helper function to print </==/>
Diffstat (limited to 'src')
-rw-r--r--src/analyze/analyze-compare-versions.c2
-rw-r--r--src/fundamental/string-util-fundamental.h4
-rw-r--r--src/test/test-string-util.c2
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);