Fixed parsing of arguments for cp
This commit is contained in:
parent
b3cf9baeb9
commit
b3d235f63b
51
cp_mv.c
51
cp_mv.c
@ -203,36 +203,35 @@ extern int cp_mv_main(int argc, char **argv)
|
|||||||
if (dz_i == is_cp) {
|
if (dz_i == is_cp) {
|
||||||
recursiveFlag = preserveFlag = forceFlag = FALSE;
|
recursiveFlag = preserveFlag = forceFlag = FALSE;
|
||||||
followLinks = TRUE;
|
followLinks = TRUE;
|
||||||
while (--argc >= 0 && *argv && **argv) {
|
while (*argv && **argv == '-') {
|
||||||
while (**argv == '-') {
|
while (*++(*argv)) {
|
||||||
while (*++(*argv)) {
|
switch (**argv) {
|
||||||
switch (**argv) {
|
case 'a':
|
||||||
case 'a':
|
followLinks = FALSE;
|
||||||
followLinks = FALSE;
|
preserveFlag = TRUE;
|
||||||
preserveFlag = TRUE;
|
recursiveFlag = TRUE;
|
||||||
recursiveFlag = TRUE;
|
break;
|
||||||
break;
|
case 'd':
|
||||||
case 'd':
|
followLinks = FALSE;
|
||||||
followLinks = FALSE;
|
break;
|
||||||
break;
|
case 'p':
|
||||||
case 'p':
|
preserveFlag = TRUE;
|
||||||
preserveFlag = TRUE;
|
break;
|
||||||
break;
|
case 'R':
|
||||||
case 'R':
|
recursiveFlag = TRUE;
|
||||||
recursiveFlag = TRUE;
|
break;
|
||||||
break;
|
case 'f':
|
||||||
case 'f':
|
forceFlag = TRUE;
|
||||||
forceFlag = TRUE;
|
break;
|
||||||
break;
|
default:
|
||||||
default:
|
usage(cp_mv_usage[is_cp]);
|
||||||
usage(cp_mv_usage[is_cp]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
argc--;
|
||||||
argv++;
|
argv++;
|
||||||
}
|
}
|
||||||
if (argc < 1) {
|
if (argc < 2) {
|
||||||
fatalError("cp: missing file argument\n");
|
usage(cp_mv_usage[dz_i]);
|
||||||
}
|
}
|
||||||
} else { /* (dz_i == is_mv) */
|
} else { /* (dz_i == is_mv) */
|
||||||
recursiveFlag = preserveFlag = TRUE;
|
recursiveFlag = preserveFlag = TRUE;
|
||||||
|
Loading…
Reference in New Issue
Block a user