19 lines
632 B
Diff
19 lines
632 B
Diff
diff -Naur cyrus-imapd-2.3.1.orig/imap/make_md5.c cyrus-imapd-2.3.1/imap/make_md5.c
|
|
--- cyrus-imapd-2.3.1.orig/imap/make_md5.c 2005-12-13 16:31:08.000000000 +0100
|
|
+++ cyrus-imapd-2.3.1/imap/make_md5.c 2006-01-18 20:21:14.000000000 +0100
|
|
@@ -391,7 +391,13 @@
|
|
FILE *file;
|
|
int i;
|
|
|
|
- if ((file=fopen(name, "w")) == NULL)
|
|
+ file = fopen(name, "w");
|
|
+ if (file == NULL && errno == ENOENT) {
|
|
+ if (cyrus_mkdir(name, 0750) == 0) {
|
|
+ file = fopen(name, "w");
|
|
+ }
|
|
+ }
|
|
+ if (file == NULL)
|
|
return(IMAP_IOERROR);
|
|
|
|
for (mailbox = list->head ; mailbox ; mailbox = mailbox->next) {
|