summaryrefslogtreecommitdiff
path: root/cp_mv.c
diff options
context:
space:
mode:
authorPavel Roskin2000-06-08 18:06:37 +0000
committerPavel Roskin2000-06-08 18:06:37 +0000
commitb3d235f63b11effbc88d07ec812f90dbb3f4b798 (patch)
treeb9f22f4d1d03ec118eacc818437a07c8b396f528 /cp_mv.c
parentb3cf9baeb9c38f4fa9270bc1d851fb457dfd610d (diff)
downloadbusybox-b3d235f63b11effbc88d07ec812f90dbb3f4b798.zip
busybox-b3d235f63b11effbc88d07ec812f90dbb3f4b798.tar.gz
Fixed parsing of arguments for cp
Diffstat (limited to 'cp_mv.c')
-rw-r--r--cp_mv.c51
1 files changed, 25 insertions, 26 deletions
diff --git a/cp_mv.c b/cp_mv.c
index 4445e77..c8d6562 100644
--- a/cp_mv.c
+++ b/cp_mv.c
@@ -203,36 +203,35 @@ extern int cp_mv_main(int argc, char **argv)
if (dz_i == is_cp) {
recursiveFlag = preserveFlag = forceFlag = FALSE;
followLinks = TRUE;
- while (--argc >= 0 && *argv && **argv) {
- while (**argv == '-') {
- while (*++(*argv)) {
- switch (**argv) {
- case 'a':
- followLinks = FALSE;
- preserveFlag = TRUE;
- recursiveFlag = TRUE;
- break;
- case 'd':
- followLinks = FALSE;
- break;
- case 'p':
- preserveFlag = TRUE;
- break;
- case 'R':
- recursiveFlag = TRUE;
- break;
- case 'f':
- forceFlag = TRUE;
- break;
- default:
- usage(cp_mv_usage[is_cp]);
- }
+ while (*argv && **argv == '-') {
+ while (*++(*argv)) {
+ switch (**argv) {
+ case 'a':
+ followLinks = FALSE;
+ preserveFlag = TRUE;
+ recursiveFlag = TRUE;
+ break;
+ case 'd':
+ followLinks = FALSE;
+ break;
+ case 'p':
+ preserveFlag = TRUE;
+ break;
+ case 'R':
+ recursiveFlag = TRUE;
+ break;
+ case 'f':
+ forceFlag = TRUE;
+ break;
+ default:
+ usage(cp_mv_usage[is_cp]);
}
}
+ argc--;
argv++;
}
- if (argc < 1) {
- fatalError("cp: missing file argument\n");
+ if (argc < 2) {
+ usage(cp_mv_usage[dz_i]);
}
} else { /* (dz_i == is_mv) */
recursiveFlag = preserveFlag = TRUE;