ntpd: explain why scripts can be run in quick succession
[oweals/busybox.git] / networking / ftpgetput.c
index f732d02a47c8a65a041238e156f1f3763cc70a19..2dd7e92328b0e7a1e1e6455e6b9977216fceb425 100644 (file)
@@ -39,7 +39,7 @@ struct BUG_G_too_big {
 #define INIT_G() do { } while (0)
 
 
-static void ftp_die(const char *msg) ATTRIBUTE_NORETURN;
+static void ftp_die(const char *msg) NORETURN;
 static void ftp_die(const char *msg)
 {
        char *cp = buf; /* buf holds peer's response */
@@ -212,7 +212,7 @@ int ftp_receive(const char *local_path, char *server_path)
        }
 
        if (do_continue) {
-               sprintf(buf, "REST %"OFF_FMT"d", beg_range);
+               sprintf(buf, "REST %"OFF_FMT"u", beg_range);
                if (ftpcmd(buf, NULL) != 350) {
                        do_continue = 0;
                }
@@ -276,7 +276,7 @@ static const char ftpgetput_longopts[] ALIGN1 =
 #endif
 
 int ftpgetput_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int ftpgetput_main(int argc ATTRIBUTE_UNUSED, char **argv)
+int ftpgetput_main(int argc UNUSED_PARAM, char **argv)
 {
        unsigned opt;
        const char *port = "ftp";
@@ -306,7 +306,7 @@ int ftpgetput_main(int argc ATTRIBUTE_UNUSED, char **argv)
 #if ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS
        applet_long_options = ftpgetput_longopts;
 #endif
-       opt_complementary = "=3:vv:cc"; /* must have 3 params; -v and -c count */
+       opt_complementary = "-2:vv:cc"; /* must have 2 to 3 params; -v and -c count */
        opt = getopt32(argv, "cvu:p:P:", &user, &password, &port,
                                        &verbose_flag, &do_continue);
        argv += optind;
@@ -321,5 +321,5 @@ int ftpgetput_main(int argc ATTRIBUTE_UNUSED, char **argv)
        }
 
        ftp_login();
-       return ftp_action(argv[1], argv[2]);
+       return ftp_action(argv[1], argv[2] ? argv[2] : argv[1]);
 }