]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
timedatectl: add -P
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 2 Mar 2024 11:17:54 +0000 (12:17 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 4 Mar 2024 12:12:21 +0000 (16:12 +0400)
man/standard-options.xml
man/systemctl.xml
man/timedatectl.xml
src/timedate/timedatectl.c

index 87058ad657b52203bfd914b6234cd2310f12f406..aaafa98bb784ef8eb0f990d850ce0264bf09995b 100644 (file)
     </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>
index 98844783b01c1db4f82bbc156da3337d661fbf36..a8c12b2f35c0e8ad8f0e50728971816f7128ee27 100644 (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>
index 5e6a242fc16a685f4e01febb7981c74d4a65ff87..e44a63870a90e22b2e6a712fe3b8ee6e4fcbbc61 100644 (file)
         <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" />
 
index 418faa5054cd71415a9709509cea1b278bb3ce4e..46ec6b31bc46aec90bb944a2b6ab712d70a546a9 100644 (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;