From 782902f2171e6f17885928e4b55b32180fd80b18 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Sat, 26 Aug 2023 12:12:01 +0200 Subject: id128: add option -P to only show value We have '-P' in systemctl with similar meaning. Partially closes https://github.com/systemd/systemd/issues/27514. --- src/id128/id128.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/id128') diff --git a/src/id128/id128.c b/src/id128/id128.c index a8c5c9ac6c..c22376d4fc 100644 --- a/src/id128/id128.c +++ b/src/id128/id128.c @@ -16,6 +16,7 @@ static Id128PrettyPrintMode arg_mode = ID128_PRINT_ID128; static sd_id128_t arg_app = {}; +static bool arg_value = false; static int verb_new(int argc, char **argv, void *userdata) { return id128_print_new(arg_mode); @@ -85,7 +86,10 @@ static int show_one(Table **table, const char *name, sd_id128_t uuid, bool first puts(""); return 0; - } else { + } else if (arg_value) + return id128_pretty_print(uuid, arg_mode); + + else { if (!*table) { *table = table_new("name", "id"); if (!*table) @@ -191,6 +195,7 @@ static int parse_argv(int argc, char *argv[]) { { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, ARG_VERSION }, { "pretty", no_argument, NULL, 'p' }, + { "value", no_argument, NULL, 'P' }, { "app-specific", required_argument, NULL, 'a' }, { "uuid", no_argument, NULL, 'u' }, {}, @@ -201,7 +206,7 @@ static int parse_argv(int argc, char *argv[]) { assert(argc >= 0); assert(argv); - while ((c = getopt_long(argc, argv, "hpa:u", options, NULL)) >= 0) + while ((c = getopt_long(argc, argv, "hpa:uP", options, NULL)) >= 0) switch (c) { case 'h': @@ -212,6 +217,13 @@ static int parse_argv(int argc, char *argv[]) { case 'p': arg_mode = ID128_PRINT_PRETTY; + arg_value = false; + break; + + case 'P': + arg_value = true; + if (arg_mode == ID128_PRINT_PRETTY) + arg_mode = ID128_PRINT_ID128; break; case 'a': -- cgit v1.2.3