From 3d0ea668e95f5fbd79a04323abc40900d56823f9 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sat, 23 Jul 2005 17:35:47 +0000 Subject: Delete oversized messages with --flush when daemon mode isn't used. Debian Bug#212240. svn path=/trunk/; revision=4173 --- driver.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'driver.c') diff --git a/driver.c b/driver.c index ddae6fc0..e51060c5 100644 --- a/driver.c +++ b/driver.c @@ -543,7 +543,10 @@ static int fetch_messages(int mailserver_socket, struct query *ctl, if ((msgcode == MSGLEN_TOOLARGE) && !check_only) { mark_oversized(ctl, num, msgsize); - suppress_delete = TRUE; + /* we do not want to delete oversized messages in daemon + * mode, but allow deletions in single-pass mode. */ + if (run.poll_interval) + suppress_delete = TRUE; } if (outlevel > O_SILENT) { @@ -772,13 +775,7 @@ flagthemail: else if (ctl->server.base_protocol->delete && !suppress_delete && ((msgcode >= 0 && !ctl->keep) - /* XXX FIXME: Debian's patch uses here: - * - * (msgcode == MSGLEN_OLD || msgcode == - * MSGLEN_TOOLARGE) && ctl->flush - * - * do we want to flush oversized messages? */ - || (msgcode == MSGLEN_OLD && ctl->flush))) + || ((msgcode == MSGLEN_OLD || msgcode == MSGLEN_TOOLARGE) && ctl->flush))) { (*deletions)++; if (outlevel > O_SILENT) -- cgit v1.2.3