changeset 772:179d5a0ed686

Better logging when moving requeue mailfiles into place
author Ben Schmidt
date Fri, 12 Nov 2010 00:01:07 +1100
parents 5bab557020a6
children 2add5c5f88f8
files ChangeLog src/mlmmj-send.c
diffstat 2 files changed, 17 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Nov 01 08:31:08 2010 +1100
+++ b/ChangeLog	Fri Nov 12 00:01:07 2010 +1100
@@ -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
--- 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);