X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=src%2Fftp.c;h=9e4f3d76bcbc231f4c74402fd00a81c2eed100f9;hb=3a62674582c4163010aa44babce47a8b8e8b6537;hp=c331d066f2c6569ca2434794367244f3d5a94f17;hpb=2aa2a913c3d28247cc9ca426c810975316775888;p=wget diff --git a/src/ftp.c b/src/ftp.c index c331d066..9e4f3d76 100644 --- a/src/ftp.c +++ b/src/ftp.c @@ -1,6 +1,7 @@ /* File Transfer Protocol support. Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, + Inc. This file is part of GNU Wget. @@ -34,9 +35,7 @@ as that of the covered work. */ #include #include #include -#ifdef HAVE_UNISTD_H -# include -#endif +#include #include #include #include @@ -302,10 +301,20 @@ getftp (struct url *u, wgint passed_expected_bytes, wgint *qtyread, csock = connect_to_host (host, port); if (csock == E_HOST) - return HOSTERR; + { + if (con->proxy) + xfree (logname); + + return HOSTERR; + } else if (csock < 0) - return (retryable_socket_connect_error (errno) - ? CONERROR : CONIMPOSSIBLE); + { + if (con->proxy) + xfree (logname); + + return (retryable_socket_connect_error (errno) + ? CONERROR : CONIMPOSSIBLE); + } if (cmd & LEAVE_PENDING) con->csock = csock; @@ -1152,7 +1161,7 @@ Error in server response, closing control connection.\n")); # define BIN_TYPE_FILE 1 #endif /* def __VMS [else] */ - if ((restval && !(con->cmd & DO_LIST)) || count > 0) + if (restval && !(con->cmd & DO_LIST)) { #ifdef __VMS int open_id; @@ -1172,7 +1181,7 @@ Error in server response, closing control connection.\n")); #endif /* def __VMS [else] */ } else if (opt.noclobber || opt.always_rest || opt.timestamping || opt.dirstruct - || opt.output_document) + || opt.output_document || count > 0) { if (opt.unlink && file_exists_p (con->target)) {