aboutsummaryrefslogtreecommitdiffstats
path: root/driver.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1996-10-15 13:56:28 +0000
committerEric S. Raymond <esr@thyrsus.com>1996-10-15 13:56:28 +0000
commitc1e1a25354f0072bf6bb871361f0316ed4e90593 (patch)
tree00d28f821b1b72a89763e6f77df62cbbf5a7d962 /driver.c
parent490f53c270798d86bcd6c5fb4a6817575b240f8d (diff)
downloadfetchmail-c1e1a25354f0072bf6bb871361f0316ed4e90593.tar.gz
fetchmail-c1e1a25354f0072bf6bb871361f0316ed4e90593.tar.bz2
fetchmail-c1e1a25354f0072bf6bb871361f0316ed4e90593.zip
Fix Johan Vromans's keep bug.
svn path=/trunk/; revision=336
Diffstat (limited to 'driver.c')
-rw-r--r--driver.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/driver.c b/driver.c
index 715607e3..594f39ae 100644
--- a/driver.c
+++ b/driver.c
@@ -693,12 +693,13 @@ struct method *proto;
/* read, forward, and delete messages */
for (num = 1; num <= count; num++)
{
- int treat_as_new =
- !protocol->is_old
- || !(protocol->is_old)(socket, queryctl, num);
+ int fetch_it = queryctl->fetchall ||
+ !(protocol->is_old && (protocol->is_old)(socket,queryctl,num));
/* we may want to reject this message if it's old */
- if (treat_as_new || queryctl->fetchall)
+ if (!fetch_it)
+ fprintf(stderr, "skipping message %d ", num);
+ else
{
int saveduid = getuid();
@@ -771,8 +772,7 @@ struct method *proto;
/* maybe we delete this message now? */
if (protocol->delete
- && !queryctl->keep
- && (treat_as_new || queryctl->flush))
+ && (fetch_it ? !queryctl->keep : queryctl->flush))
{
deletions++;
if (outlevel > O_SILENT && outlevel < O_VERBOSE)