diff options
-rw-r--r-- | util-linux/flock.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/util-linux/flock.c b/util-linux/flock.c index 539a835b7..1f7ade7c4 100644 --- a/util-linux/flock.c +++ b/util-linux/flock.c | |||
@@ -93,19 +93,19 @@ int flock_main(int argc UNUSED_PARAM, char **argv) | |||
93 | } | 93 | } |
94 | 94 | ||
95 | if (argv[0]) { | 95 | if (argv[0]) { |
96 | if (!(opt & OPT_c)) { | 96 | int rc; |
97 | int rc = spawn_and_wait(argv); | 97 | if (opt & OPT_c) { |
98 | if (rc < 0) | 98 | /* -c 'PROG ARGS' means "run sh -c 'PROG ARGS'" */ |
99 | bb_simple_perror_msg(argv[0]); | 99 | argv -= 2; |
100 | return rc; | 100 | argv[0] = (char*)get_shell_name(); |
101 | argv[1] = (char*)"-c"; | ||
102 | /* argv[2] = "PROG ARGS"; */ | ||
103 | /* argv[3] = NULL; */ | ||
101 | } | 104 | } |
102 | /* -c 'PROG ARGS' means "run sh -c 'PROG ARGS'" */ | 105 | rc = spawn_and_wait(argv); |
103 | argv -= 2; | 106 | if (rc < 0) |
104 | argv[0] = (char*)get_shell_name(); | 107 | bb_simple_perror_msg(argv[0]); |
105 | argv[1] = (char*)"-c"; | 108 | return rc; |
106 | /* argv[2] = "PROG ARGS"; */ | ||
107 | /* argv[3] = NULL; */ | ||
108 | return spawn_and_wait(argv); | ||
109 | } | 109 | } |
110 | 110 | ||
111 | return EXIT_SUCCESS; | 111 | return EXIT_SUCCESS; |