# HG changeset patch # User Ben Schmidt # Date 1391382132 -39600 # Node ID b0f28e7ead432f44dbbe72a397bf4dbfa42e9822 # Parent 4e97d0735da7513571eb6fa793bd5ecd5720d41b Avoid deleting mail currently being sent. diff -r 4e97d0735da7 -r b0f28e7ead43 src/mlmmj-maintd.c --- 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);