diff options
author | Pavel Roskin <proski@gnu.org> | 2000-06-08 18:06:37 +0000 |
---|---|---|
committer | Pavel Roskin <proski@gnu.org> | 2000-06-08 18:06:37 +0000 |
commit | b3d235f63b11effbc88d07ec812f90dbb3f4b798 (patch) | |
tree | b9f22f4d1d03ec118eacc818437a07c8b396f528 | |
parent | b3cf9baeb9c38f4fa9270bc1d851fb457dfd610d (diff) | |
download | busybox-b3d235f63b11effbc88d07ec812f90dbb3f4b798.tar.gz |
Fixed parsing of arguments for cp
-rw-r--r-- | cp_mv.c | 51 |
1 files changed, 25 insertions, 26 deletions
@@ -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; |