diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1996-10-15 13:56:28 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1996-10-15 13:56:28 +0000 |
commit | c1e1a25354f0072bf6bb871361f0316ed4e90593 (patch) | |
tree | 00d28f821b1b72a89763e6f77df62cbbf5a7d962 /driver.c | |
parent | 490f53c270798d86bcd6c5fb4a6817575b240f8d (diff) | |
download | fetchmail-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.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -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) |