1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-22 13:33:56 +03:00

analyze: use '' instead of the empty string when showing versions

It looks like garbled output… I didn't use shell-escape, because the other
characters that are special for the shell that are used in versions should
not be escaped.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2022-05-25 10:18:14 +02:00
parent 620ecc9c4b
commit c20b2f2421
2 changed files with 6 additions and 5 deletions

View File

@ -16,9 +16,9 @@ int verb_compare_versions(int argc, char *argv[], void *userdata) {
if (argc == 3) {
r = strverscmp_improved(ASSERT_PTR(argv[1]), ASSERT_PTR(argv[2]));
printf("%s %s %s\n",
argv[1],
isempty(argv[1]) ? "''" : argv[1],
r < 0 ? "<" : r > 0 ? ">" : "==",
argv[2]);
isempty(argv[2]) ? "''" : argv[2]);
/* This matches the exit convention used by rpmdev-vercmp.
* We don't use named values because 11 and 12 don't have names. */

View File

@ -17,9 +17,10 @@ $ANALYZE compare-versions 1 '!=' 2
( ! $ANALYZE compare-versions 1 gt 2 )
( ! $ANALYZE compare-versions 1 '>' 2 )
$ANALYZE compare-versions 1 2 | grep ' < '
$ANALYZE compare-versions 2 2 | grep ' == '
$ANALYZE compare-versions 2 1 | grep ' > '
test "$($ANALYZE compare-versions 1 2)" = '1 < 2'
test "$($ANALYZE compare-versions 2 2)" = '2 == 2'
test "$($ANALYZE compare-versions 2 1)" = '2 > 1'
test "$($ANALYZE compare-versions '' '')" = "'' == ''"
set +e