aboutsummaryrefslogtreecommitdiff
path: root/cp_mv.c
diff options
context:
space:
mode:
Diffstat (limited to 'cp_mv.c')
-rw-r--r--cp_mv.c51
1 files changed, 28 insertions, 23 deletions
diff --git a/cp_mv.c b/cp_mv.c
index ac1e71b82..4445e7747 100644
--- a/cp_mv.c
+++ b/cp_mv.c
@@ -203,37 +203,42 @@ 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 (**argv == '-') { 206 while (--argc >= 0 && *argv && **argv) {
207 while (*++(*argv)) { 207 while (**argv == '-') {
208 switch (**argv) { 208 while (*++(*argv)) {
209 case 'a': 209 switch (**argv) {
210 followLinks = FALSE; 210 case 'a':
211 preserveFlag = TRUE; 211 followLinks = FALSE;
212 recursiveFlag = TRUE; 212 preserveFlag = TRUE;
213 break; 213 recursiveFlag = TRUE;
214 case 'd': 214 break;
215 followLinks = FALSE; 215 case 'd':
216 break; 216 followLinks = FALSE;
217 case 'p': 217 break;
218 preserveFlag = TRUE; 218 case 'p':
219 break; 219 preserveFlag = TRUE;
220 case 'R': 220 break;
221 recursiveFlag = TRUE; 221 case 'R':
222 break; 222 recursiveFlag = TRUE;
223 case 'f': 223 break;
224 forceFlag = TRUE; 224 case 'f':
225 break; 225 forceFlag = TRUE;
226 default: 226 break;
227 usage(cp_mv_usage[is_cp]); 227 default:
228 usage(cp_mv_usage[is_cp]);
229 }
228 } 230 }
229 } 231 }
230 argc--;
231 argv++; 232 argv++;
232 } 233 }
234 if (argc < 1) {
235 fatalError("cp: missing file argument\n");
236 }
233 } else { /* (dz_i == is_mv) */ 237 } else { /* (dz_i == is_mv) */
234 recursiveFlag = preserveFlag = TRUE; 238 recursiveFlag = preserveFlag = TRUE;
235 followLinks = FALSE; 239 followLinks = FALSE;
236 } 240 }
241
237 242
238 if (strlen(argv[argc - 1]) > BUFSIZ) { 243 if (strlen(argv[argc - 1]) > BUFSIZ) {
239 fprintf(stderr, name_too_long, "cp"); 244 fprintf(stderr, name_too_long, "cp");