timedatectl: add -P

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2024-03-02 12:17:54 +01:00
parent 7addc530ac
commit 31e70e88cd
4 changed files with 32 additions and 18 deletions

View file

@ -135,4 +135,13 @@
</listitem>
</varlistentry>
<varlistentry id='option-P'>
<term><option>-P</option></term>
<listitem>
<para>Equivalent to <option>--value</option> <option>--property=</option>, i.e. shows the value of the
property without the property name or <literal>=</literal>. Note that using <option>-P</option> once
will also affect all properties listed with <option>-p</option>/<option>--property=</option>.</para>
</listitem>
</varlistentry>
</variablelist>

View file

@ -1944,11 +1944,7 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
<term><option>-P</option></term>
<listitem>
<para>Equivalent to <option>--value</option> <option>--property=</option>, i.e. shows the
value of the property without the property name or <literal>=</literal>. Note that using
<option>-P</option> once will also affect all properties listed with
<option>-p</option>/<option>--property=</option>.</para>
<xi:include href="standard-options.xml" xpointer="xpointer(//varlistentry[@id='option-P']/listitem/para)" />
<xi:include href="version-info.xml" xpointer="v246"/>
</listitem>
</varlistentry>

View file

@ -273,6 +273,15 @@
<xi:include href="version-info.xml" xpointer="v239"/></listitem>
</varlistentry>
<varlistentry>
<term><option>-P</option></term>
<listitem>
<xi:include href="standard-options.xml" xpointer="xpointer(//varlistentry[@id='option-P']/listitem/para)" />
<xi:include href="version-info.xml" xpointer="v256"/>
</listitem>
</varlistentry>
<xi:include href="user-system-options.xml" xpointer="host" />
<xi:include href="user-system-options.xml" xpointer="machine" />

View file

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