From: Philip Hazel Date: Mon, 20 Dec 2004 12:29:10 +0000 (+0000) Subject: When checking for a message's continued existence, exim_tidydb was not X-Git-Tag: exim-4_50~75 X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=commitdiff_plain;h=0ec020ea98fcff1a3c4a286f9a168c0004cf5d91;ds=sidebyside When checking for a message's continued existence, exim_tidydb was not looking in the split spool subdirectories. --- diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 181fa93bb..a06b29b49 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.44 2004/12/20 11:46:21 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.45 2004/12/20 12:29:10 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -190,6 +190,11 @@ Exim version 4.50 46. Reset the locale to "C" after calling embedded Perl, in case it was changed (this can affect the format of dates). +47. exim_tidydb, when checking for the continued existence of a message for + which it has found a message-specific retry record, was not finding + messages that were in split spool directories. Consequently, it was + deleting retry records that should have stayed in existence. + Exim version 4.43 ----------------- diff --git a/src/src/exim_dbutil.c b/src/src/exim_dbutil.c index dd401741d..c193d38ae 100644 --- a/src/src/exim_dbutil.c +++ b/src/src/exim_dbutil.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/exim_dbutil.c,v 1.1 2004/10/07 10:39:01 ph10 Exp $ */ +/* $Cambridge: exim/src/src/exim_dbutil.c,v 1.2 2004/12/20 12:29:10 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -1246,8 +1246,12 @@ while (keychain != NULL) if (Ustat(buffer, &statbuf) != 0) { - dbfn_delete(dbm, key); - printf("deleted %s (no message)\n", key); + sprintf(CS(buffer + path_len), "%c/%s-D", id[5], id); + if (Ustat(buffer, &statbuf) != 0) + { + dbfn_delete(dbm, key); + printf("deleted %s (no message)\n", key); + } } } }