aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Roskin <proski@gnu.org>2000-06-08 18:06:37 +0000
committerPavel Roskin <proski@gnu.org>2000-06-08 18:06:37 +0000
commitb3d235f63b11effbc88d07ec812f90dbb3f4b798 (patch)
treeb9f22f4d1d03ec118eacc818437a07c8b396f528
parentb3cf9baeb9c38f4fa9270bc1d851fb457dfd610d (diff)
downloadbusybox-w32-b3d235f63b11effbc88d07ec812f90dbb3f4b798.tar.gz
busybox-w32-b3d235f63b11effbc88d07ec812f90dbb3f4b798.tar.bz2
busybox-w32-b3d235f63b11effbc88d07ec812f90dbb3f4b798.zip
Fixed parsing of arguments for cp
-rw-r--r--cp_mv.c51
1 files changed, 25 insertions, 26 deletions
diff --git a/cp_mv.c b/cp_mv.c
index 4445e7747..c8d6562f1 100644
--- a/cp_mv.c
+++ b/cp_mv.c
@@ -203,36 +203,35 @@ extern int cp_mv_main(int argc, char **argv)
203 if (dz_i == is_cp) { 203 if (dz_i == is_cp) {
204 recursiveFlag = preserveFlag = forceFlag = FALSE; 204 recursiveFlag = preserveFlag = forceFlag = FALSE;
205 followLinks = TRUE; 205 followLinks = TRUE;
206 while (--argc >= 0 && *argv && **argv) { 206 while (*argv && **argv == '-') {
207 while (**argv == '-') { 207 while (*++(*argv)) {
208 while (*++(*argv)) { 208 switch (**argv) {
209 switch (**argv) { 209 case 'a':
210 case 'a': 210 followLinks = FALSE;
211 followLinks = FALSE; 211 preserveFlag = TRUE;
212 preserveFlag = TRUE; 212 recursiveFlag = TRUE;
213 recursiveFlag = TRUE; 213 break;
214 break; 214 case 'd':
215 case 'd': 215 followLinks = FALSE;
216 followLinks = FALSE; 216 break;
217 break; 217 case 'p':
218 case 'p': 218 preserveFlag = TRUE;
219 preserveFlag = TRUE; 219 break;
220 break; 220 case 'R':
221 case 'R': 221 recursiveFlag = TRUE;
222 recursiveFlag = TRUE; 222 break;
223 break; 223 case 'f':
224 case 'f': 224 forceFlag = TRUE;
225 forceFlag = TRUE; 225 break;
226 break; 226 default:
227 default: 227 usage(cp_mv_usage[is_cp]);
228 usage(cp_mv_usage[is_cp]);
229 }
230 } 228 }
231 } 229 }
230 argc--;
232 argv++; 231 argv++;
233 } 232 }
234 if (argc < 1) { 233 if (argc < 2) {
235 fatalError("cp: missing file argument\n"); 234 usage(cp_mv_usage[dz_i]);
236 } 235 }
237 } else { /* (dz_i == is_mv) */ 236 } else { /* (dz_i == is_mv) */
238 recursiveFlag = preserveFlag = TRUE; 237 recursiveFlag = preserveFlag = TRUE;