Update internal.h to conditionally include asm/string.h
[oweals/busybox.git] / cp_mv.c
diff --git a/cp_mv.c b/cp_mv.c
index 4445e7747df525b26e0d256661e2734b77e19685..b15235a2573cda3375f2dd1f5833bd457411884a 100644 (file)
--- a/cp_mv.c
+++ b/cp_mv.c
@@ -90,7 +90,7 @@ static
 void name_too_long__exit (void)
 {
        fprintf(stderr, name_too_long, dz);
-       exit FALSE;
+       exit(FALSE);
 }
 
 static void
@@ -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;
@@ -334,10 +333,9 @@ extern int cp_mv_main(int argc, char **argv)
                if (flags_memo)
                        *(baseDestName + baseDestLen) = '\0';
        }
-// exit_true:
-       exit TRUE;
+       return( TRUE);
  exit_false:
-       exit FALSE;
+       return( FALSE);
 }
 
 /*