src.fixed_ensure_maildirsize
changeset 6 d2183655483b
child 14 6233ac1f9517
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src.fixed_ensure_maildirsize	Sun Feb 20 23:59:48 2011 +0100
@@ -0,0 +1,41 @@
+# HG changeset patch
+# Parent bb312f4baa8351ad1e97b991721f71c4c96b13ac
+
+diff -r bb312f4baa83 src/transports/appendfile.c
+--- a/src/transports/appendfile.c	Tue Feb 15 11:23:53 2011 +0100
++++ b/src/transports/appendfile.c	Fri Feb 18 00:02:06 2011 +0100
+@@ -1263,7 +1263,6 @@
+ 
+ #ifdef SUPPORT_MAILDIR
+ int maildirsize_fd = -1;      /* fd for maildirsize file */
+-int maildir_save_errno;
+ #endif
+ 
+ 
+@@ -2911,11 +2910,12 @@
+ #ifdef SUPPORT_MAILDIR
+ if (!disable_quota)
+   {
++  int save_errno;
+   if (yield == OK && maildirsize_fd >= 0)
+     maildir_record_length(maildirsize_fd, message_size);
+-  maildir_save_errno = errno;    /* Preserve errno while closing the file */
++  save_errno = errno;            /* Preserve errno while closing the file */
+   (void)close(maildirsize_fd);
+-  errno = maildir_save_errno;
++  errno = save_errno;
+   }
+ #endif  /* SUPPORT_MAILDIR */
+ 
+diff -r bb312f4baa83 src/transports/tf_maildir.c
+--- a/src/transports/tf_maildir.c	Tue Feb 15 11:23:53 2011 +0100
++++ b/src/transports/tf_maildir.c	Fri Feb 18 00:02:06 2011 +0100
+@@ -584,7 +584,7 @@
+       "a later subdirectory modification\n");
+     (void)Uunlink(filename);
+     (void)close(fd);
+-    fd = -1;
++    fd = -2;
+     }
+   }
+