From: Ben Schmidt Date: Thu, 11 Nov 2010 13:01:07 +0000 (+1100) Subject: Better logging when moving requeue mailfiles into place X-Git-Tag: RELEASE_1_2_18a1~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef2fb3dda8d215d1e85bb7e3a457e73eebe3d650;p=thirdparty%2Fmlmmj.git Better logging when moving requeue mailfiles into place --- diff --git a/ChangeLog b/ChangeLog index fe272d8b..104f14ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ + o Improved error logging when requeuing o Fix php-admin to work when topdir contains a symlink (e.g. on Mac) o Better techniques for locating support files in php-admin -- existing installations will need to have their conf/config.php altered to set diff --git a/src/mlmmj-send.c b/src/mlmmj-send.c index 445799b8..61808027 100644 --- a/src/mlmmj-send.c +++ b/src/mlmmj-send.c @@ -1303,10 +1303,23 @@ int main(int argc, char **argv) } else { len = strlen(listdir) + 9 + 20 + 9; requeuefilename = mymalloc(len); - snprintf(requeuefilename, len, "%s/requeue/%d/mailfile", listdir, - mindex); - if (rename(mailfilename, requeuefilename) < 0) + snprintf(requeuefilename, len, "%s/requeue/%d", + listdir, mindex); + if(stat(requeuefilename, &st) < 0) { + /* Nothing was requeued and we don't keep + * mail for a noarchive list. */ unlink(mailfilename); + } else { + snprintf(requeuefilename, len, + "%s/requeue/%d/mailfile", + listdir, mindex); + if (rename(mailfilename, requeuefilename) < 0) { + log_error(LOG_ARGS, + "Could not rename(%s,%s);", + mailfilename, + requeuefilename); + } + } myfree(requeuefilename); } myfree(archivefilename);