X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=networking%2Fftpgetput.c;h=453cce571364d4ff2a64fe4c6917d9cc63c1f522;hb=59fe8b90890a07c87ec9c2943bae515d5c6d959d;hp=40e1328a94d46e65b0423962dd375b8d4f88ff82;hpb=b1629b1b2abc17a6430e4173d64d7956784118e0;p=oweals%2Fbusybox.git diff --git a/networking/ftpgetput.c b/networking/ftpgetput.c index 40e1328a9..453cce571 100644 --- a/networking/ftpgetput.c +++ b/networking/ftpgetput.c @@ -13,27 +13,8 @@ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - #include "busybox.h" +#include typedef struct ftp_host_info_s { char *user; @@ -125,7 +106,7 @@ static FILE *ftp_login(ftp_host_info_t *server) #if !ENABLE_FTPGET #define ftp_receive 0 #else -static int ftp_recieve(ftp_host_info_t *server, FILE *control_stream, +static int ftp_receive(ftp_host_info_t *server, FILE *control_stream, const char *local_path, char *server_path) { char buf[512]; @@ -183,9 +164,9 @@ static int ftp_recieve(ftp_host_info_t *server, FILE *control_stream, /* only make a local file if we know that one exists on the remote server */ if (fd_local == -1) { if (do_continue) { - fd_local = bb_xopen(local_path, O_APPEND | O_WRONLY); + fd_local = xopen(local_path, O_APPEND | O_WRONLY); } else { - fd_local = bb_xopen(local_path, O_CREAT | O_TRUNC | O_WRONLY); + fd_local = xopen3(local_path, O_CREAT | O_TRUNC | O_WRONLY, 0777); } } @@ -231,7 +212,7 @@ static int ftp_send(ftp_host_info_t *server, FILE *control_stream, if ((local_path[0] == '-') && (local_path[1] == '\0')) { fd_local = STDIN_FILENO; } else { - fd_local = bb_xopen(local_path, O_RDONLY); + fd_local = xopen(local_path, O_RDONLY); fstat(fd_local, &sbuf); sprintf(buf, "ALLO %lu", (unsigned long)sbuf.st_size); @@ -278,6 +259,7 @@ static int ftp_send(ftp_host_info_t *server, FILE *control_stream, #define FTPGETPUT_OPT_PASSWORD 8 #define FTPGETPUT_OPT_PORT 16 +#if ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS static const struct option ftpgetput_long_options[] = { {"continue", 1, NULL, 'c'}, {"verbose", 0, NULL, 'v'}, @@ -286,6 +268,9 @@ static const struct option ftpgetput_long_options[] = { {"port", 1, NULL, 'P'}, {0, 0, 0, 0} }; +#else +#define ftpgetput_long_options 0 +#endif int ftpgetput_main(int argc, char **argv) { @@ -307,7 +292,7 @@ int ftpgetput_main(int argc, char **argv) ftp_action = ftp_send; } if (ENABLE_FTPGET && (!ENABLE_FTPPUT || bb_applet_name[3] == 'g')) { - ftp_action = ftp_recieve; + ftp_action = ftp_receive; } /* Set default values */ @@ -319,7 +304,9 @@ int ftpgetput_main(int argc, char **argv) /* * Decipher the command line */ - bb_applet_long_options = ftpgetput_long_options; + if (ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS) + bb_applet_long_options = ftpgetput_long_options; + opt = bb_getopt_ulflags(argc, argv, "cvu:p:P:", &server->user, &server->password, &port); /* Process the non-option command line arguments */