Diffstat (limited to 'libetpan/src/low-level/maildir/maildir.c') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libetpan/src/low-level/maildir/maildir.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/libetpan/src/low-level/maildir/maildir.c b/libetpan/src/low-level/maildir/maildir.c index 98b9f87..e81625d 100644 --- a/libetpan/src/low-level/maildir/maildir.c +++ b/libetpan/src/low-level/maildir/maildir.c @@ -112,2 +112,4 @@ static char * maildir_get_new_message_filename(struct maildir * md, time_t now; + //LR + struct stat f_stat; int got_file; @@ -123,3 +125,14 @@ static char * maildir_get_new_message_filename(struct maildir * md, md->mdir_path, basename); - + + // LR changed following lines + if ( stat( filename, &f_stat ) == -1 ) { + char * dup_filename; + + dup_filename = strdup(filename); + if (dup_filename == NULL) { + //unlink(filename); + return NULL; + } + rename (tmpfile,dup_filename ); +#if 0 if (link(tmpfile, filename) == 0) { @@ -149,3 +162,3 @@ static char * maildir_get_new_message_filename(struct maildir * md, } - +#endif md->mdir_counter ++; |