From 297208a61298fceab6d96bbd1c46198b1c0f7a76 Mon Sep 17 00:00:00 2001 From: zautrix Date: Fri, 18 Mar 2005 22:05:02 +0000 Subject: fixes applied --- (limited to 'libetpan/src/low-level/maildir') 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 @@ -110,6 +110,8 @@ static char * maildir_get_new_message_filename(struct maildir * md, char basename[PATH_MAX]; int k; time_t now; + //LR + struct stat f_stat; int got_file; int r; @@ -121,7 +123,18 @@ static char * maildir_get_new_message_filename(struct maildir * md, (unsigned long) now, md->mdir_pid, md->mdir_counter, md->mdir_hostname); snprintf(filename, sizeof(filename), "%s/tmp/%s", 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) { got_file = 1; unlink(tmpfile); @@ -147,7 +160,7 @@ static char * maildir_get_new_message_filename(struct maildir * md, unlink(filename); return NULL; } - +#endif md->mdir_counter ++; return dup_filename; -- cgit v0.9.0.2