Mercurial > hg > mlmmj
diff src/mlmmj-send.c @ 772:179d5a0ed686
Better logging when moving requeue mailfiles into place
author | Ben Schmidt |
---|---|
date | Fri, 12 Nov 2010 00:01:07 +1100 |
parents | f8f3f4525a2b |
children | 2add5c5f88f8 |
line wrap: on
line diff
--- a/src/mlmmj-send.c Mon Nov 01 08:31:08 2010 +1100 +++ b/src/mlmmj-send.c Fri Nov 12 00:01:07 2010 +1100 @@ -1303,10 +1303,23 @@ } 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);