aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util-linux/flock.c24
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;