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 ac1e71b823cac1beffa3440eee18a3e19cf4db4b..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,7 +203,7 @@ extern int cp_mv_main(int argc, char **argv)
        if (dz_i == is_cp) {
                recursiveFlag = preserveFlag = forceFlag = FALSE;
                followLinks = TRUE;
-               while (**argv == '-') {
+               while (*argv && **argv == '-') {
                        while (*++(*argv)) {
                                switch (**argv) {
                                case 'a':
@@ -230,10 +230,14 @@ extern int cp_mv_main(int argc, char **argv)
                        argc--;
                        argv++;
                }
+               if (argc < 2) {
+                       usage(cp_mv_usage[dz_i]);
+               }
        } else {                                        /* (dz_i == is_mv) */
                recursiveFlag = preserveFlag = TRUE;
                followLinks = FALSE;
        }
+       
 
        if (strlen(argv[argc - 1]) > BUFSIZ) {
                fprintf(stderr, name_too_long, "cp");
@@ -329,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);
 }
 
 /*