X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=networking%2Fftpgetput.c;h=453cce571364d4ff2a64fe4c6917d9cc63c1f522;hb=59fe8b90890a07c87ec9c2943bae515d5c6d959d;hp=48b18b53688fe95540ad1f8fe47c5500579a0fa4;hpb=299a6b4d7bf40c30e4a52ee8311c17ffd42b3035;p=oweals%2Fbusybox.git diff --git a/networking/ftpgetput.c b/networking/ftpgetput.c index 48b18b536..453cce571 100644 --- a/networking/ftpgetput.c +++ b/networking/ftpgetput.c @@ -13,26 +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 "busybox.h" +#include typedef struct ftp_host_info_s { char *user; @@ -124,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]; @@ -182,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); } } @@ -230,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); @@ -286,6 +268,8 @@ 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) @@ -308,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 */ @@ -320,9 +304,9 @@ int ftpgetput_main(int argc, char **argv) /* * Decipher the command line */ -#if ENABLE_FEATURE_FTPGETPUT_LONG_OPTIONS - bb_applet_long_options = ftpgetput_long_options; -#endif + 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 */