From: Zbigniew Jędrzejewski-Szmek Date: Sat, 2 Mar 2024 11:17:54 +0000 (+0100) Subject: timedatectl: add -P X-Git-Tag: v256-rc1~644^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=31e70e88cd0640a115b01cfe8775aea61ccc3e3e;p=thirdparty%2Fsystemd.git timedatectl: add -P --- diff --git a/man/standard-options.xml b/man/standard-options.xml index 87058ad657b..aaafa98bb78 100644 --- a/man/standard-options.xml +++ b/man/standard-options.xml @@ -135,4 +135,13 @@ + + + + + Equivalent to , i.e. shows the value of the + property without the property name or =. Note that using once + will also affect all properties listed with /. + + diff --git a/man/systemctl.xml b/man/systemctl.xml index 98844783b01..a8c12b2f35c 100644 --- a/man/systemctl.xml +++ b/man/systemctl.xml @@ -1944,11 +1944,7 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err - Equivalent to , i.e. shows the - value of the property without the property name or =. Note that using - once will also affect all properties listed with - /. - + diff --git a/man/timedatectl.xml b/man/timedatectl.xml index 5e6a242fc16..e44a63870a9 100644 --- a/man/timedatectl.xml +++ b/man/timedatectl.xml @@ -273,6 +273,15 @@ + + + + + + + + + diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index 418faa5054c..46ec6b31bc4 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -888,6 +888,7 @@ static int help(void) { " -p --property=NAME Show only properties by this name\n" " -a --all Show all properties, including empty ones\n" " --value When showing properties, only print the value\n" + " -P NAME Equivalent to --value --property=NAME\n" "\nSee the %s for details.\n", program_invocation_short_name, ansi_highlight(), @@ -902,7 +903,6 @@ static int verb_help(int argc, char **argv, void *userdata) { } static int parse_argv(int argc, char *argv[]) { - enum { ARG_VERSION = 0x100, ARG_NO_PAGER, @@ -922,8 +922,8 @@ static int parse_argv(int argc, char *argv[]) { { "adjust-system-clock", no_argument, NULL, ARG_ADJUST_SYSTEM_CLOCK }, { "monitor", no_argument, NULL, ARG_MONITOR }, { "property", required_argument, NULL, 'p' }, - { "all", no_argument, NULL, 'a' }, { "value", no_argument, NULL, ARG_VALUE }, + { "all", no_argument, NULL, 'a' }, {} }; @@ -932,8 +932,7 @@ static int parse_argv(int argc, char *argv[]) { assert(argc >= 0); assert(argv); - while ((c = getopt_long(argc, argv, "hH:M:p:a", options, NULL)) >= 0) - + while ((c = getopt_long(argc, argv, "hH:M:p:P:a", options, NULL)) >= 0) switch (c) { case 'h': @@ -968,26 +967,27 @@ static int parse_argv(int argc, char *argv[]) { arg_monitor = true; break; - case 'p': { + case 'p': + case 'P': r = strv_extend(&arg_property, optarg); if (r < 0) return log_oom(); - /* If the user asked for a particular - * property, show it to them, even if it is - * empty. */ + /* If the user asked for a particular property, show it to them, even if empty. */ SET_FLAG(arg_print_flags, BUS_PRINT_PROPERTY_SHOW_EMPTY, true); - break; - } - case 'a': - SET_FLAG(arg_print_flags, BUS_PRINT_PROPERTY_SHOW_EMPTY, true); - break; + if (c == 'p') + break; + _fallthrough_; case ARG_VALUE: SET_FLAG(arg_print_flags, BUS_PRINT_PROPERTY_ONLY_VALUE, true); break; + case 'a': + SET_FLAG(arg_print_flags, BUS_PRINT_PROPERTY_SHOW_EMPTY, true); + break; + case '?': return -EINVAL;