From 8896339e8d4c65188cee16918a13625c03ba12df Mon Sep 17 00:00:00 2001 From: Micah Cowan Date: Tue, 22 Apr 2008 22:28:53 -0700 Subject: [PATCH] Only remove .listing if it has been created. --- src/ChangeLog | 5 +++++ src/ftp.c | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 3f59ecfe..a8da28de 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2008-04-22 Rabin Vincent + + * ftp.c (ftp_get_listing): Only remove .listing if it has been + created. + 2008-04-22 Alain Guibert * test.h (mu_run_test): Move declaration before statements, for diff --git a/src/ftp.c b/src/ftp.c index 03210321..5a9ecc6a 100644 --- a/src/ftp.c +++ b/src/ftp.c @@ -1325,16 +1325,18 @@ ftp_get_listing (struct url *u, ccon *con, struct fileinfo **f) con->target = old_target; if (err == RETROK) - *f = ftp_parse_ls (lf, con->rs); - else - *f = NULL; - if (opt.remove_listing) { - if (unlink (lf)) - logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno)); - else - logprintf (LOG_VERBOSE, _("Removed `%s'.\n"), lf); + *f = ftp_parse_ls (lf, con->rs); + if (opt.remove_listing) + { + if (unlink (lf)) + logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno)); + else + logprintf (LOG_VERBOSE, _("Removed `%s'.\n"), lf); + } } + else + *f = NULL; xfree (lf); con->cmd &= ~DO_LIST; return err; -- 2.39.2