Mercurial > hg > mlmmj
changeset 884:b0f28e7ead43
Avoid deleting mail currently being sent.
author | Ben Schmidt |
---|---|
date | Mon, 03 Feb 2014 10:02:12 +1100 |
parents | 4e97d0735da7 |
children | 58004be79ae0 |
files | src/mlmmj-maintd.c |
diffstat | 1 files changed, 14 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mlmmj-maintd.c Fri Jun 28 08:04:08 2013 +1000 +++ b/src/mlmmj-maintd.c Mon Feb 03 10:02:12 2014 +1100 @@ -247,6 +247,7 @@ ch = strrchr(mailname, '.'); MY_ASSERT(ch); *ch = '\0'; + /* delete orphaned sidecar files */ if(stat(mailname, &st) < 0) { if(errno == ENOENT) { *ch = '.'; @@ -268,10 +269,18 @@ if((fromfd < 0 && err == ENOENT) || (tofd < 0 && errno == ENOENT)) { + /* only delete old files to avoid deleting + mail currently being sent */ + t = time(NULL); + if(stat(mailname, &st) == 0) { + if(t - st.st_mtime > (time_t)36000) { unlink(mailname); + /* avoid leaving orphans */ unlink(fromname); unlink(toname); unlink(reptoname); + } + } myfree(mailname); myfree(fromname); myfree(toname);