diff options
Diffstat (limited to 'util-linux')
| -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; |
