Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates-src > by-pkgid > ab4b662b9827b6375ffd451bf4abd615 > files > 36

systemd-44-24.fc17.src.rpm

From 1d96011c8da7a2bff8ae71cde3b69c2c785321dd Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Tue, 3 Apr 2012 14:43:48 +0200
Subject: [PATCH] systemctl: make -f short for both --follow and --force
 (cherry picked from commit
 568b679f2a5db6a23c795363091b94ad804f24f6)

Conflicts:

	TODO
---
 man/systemctl.xml |    1 +
 src/systemctl.c   |   19 +++++++++++++------
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/man/systemctl.xml b/man/systemctl.xml
index 25b9266..ffe0164 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -431,6 +431,7 @@
 
                         <varlistentry>
                                 <term><option>--follow</option></term>
+                                <term><option>-f</option></term>
 
                                 <listitem><para>When used with
                                 <command>status</command> continously
diff --git a/src/systemctl.c b/src/systemctl.c
index f51085f..4b27b69 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -4247,7 +4247,8 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
                 ARG_NO_ASK_PASSWORD,
                 ARG_FAILED,
                 ARG_RUNTIME,
-                ARG_FOLLOW
+                ARG_FOLLOW,
+                ARG_FORCE
         };
 
         static const struct option options[] = {
@@ -4271,7 +4272,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
                 { "order",     no_argument,       NULL, ARG_ORDER     },
                 { "require",   no_argument,       NULL, ARG_REQUIRE   },
                 { "root",      required_argument, NULL, ARG_ROOT      },
-                { "force",     no_argument,       NULL, 'f'           },
+                { "force",     no_argument,       NULL, ARG_FORCE     },
                 { "no-reload", no_argument,       NULL, ARG_NO_RELOAD },
                 { "kill-mode", required_argument, NULL, ARG_KILL_MODE }, /* undocumented on purpose */
                 { "kill-who",  required_argument, NULL, ARG_KILL_WHO  },
@@ -4392,8 +4393,18 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
                         arg_quiet = true;
                         break;
 
+                case ARG_FORCE:
+                        arg_force ++;
+                        break;
+
+                case ARG_FOLLOW:
+                        arg_follow = true;
+                        break;
+
                 case 'f':
+                        /* -f is short for both --follow and --force! */
                         arg_force ++;
+                        arg_follow = true;
                         break;
 
                 case ARG_NO_RELOAD:
@@ -4439,10 +4450,6 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
                         }
                         break;
 
-                case ARG_FOLLOW:
-                        arg_follow = true;
-                        break;
-
                 case 'o':
                         arg_output = output_mode_from_string(optarg);
                         if (arg_output < 0) {