aboutsummaryrefslogtreecommitdiffstats
path: root/pop3.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2006-03-04 13:51:46 +0000
committerMatthias Andree <matthias.andree@gmx.de>2006-03-04 13:51:46 +0000
commit76edebc28e569f94f357dc96adce4c135eebbcbe (patch)
treed23048d5928900e70d108b7fe69f35a74cbefb92 /pop3.c
parent4a188df40aebf16c94303e773e723ab1fb5c733d (diff)
downloadfetchmail-76edebc28e569f94f357dc96adce4c135eebbcbe.tar.gz
fetchmail-76edebc28e569f94f357dc96adce4c135eebbcbe.tar.bz2
fetchmail-76edebc28e569f94f357dc96adce4c135eebbcbe.zip
Allow UIDL recording in fetchall keep mode, to avoid re-fetching messages on subsequent polls without fetchall. Patch by Sunil Shetye.
svn path=/branches/BRANCH_6-3/; revision=4720
Diffstat (limited to 'pop3.c')
-rw-r--r--pop3.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pop3.c b/pop3.c
index b7054de0..69a9c6f8 100644
--- a/pop3.c
+++ b/pop3.c
@@ -894,7 +894,7 @@ static int pop3_getrange(int sock,
*/
last = 0;
*newp = -1;
- if (*countp > 0 && !ctl->fetchall)
+ if (*countp > 0 && (!ctl->fetchall || ctl->server.uidl))
{
int fastuidl;
char id [IDLEN+1];
@@ -902,6 +902,7 @@ static int pop3_getrange(int sock,
/* should we do fast uidl this time? */
fastuidl = ctl->fastuidl;
if (*countp > 7 && /* linear search is better if there are few mails! */
+ !ctl->fetchall && /* with fetchall, all uids are required */
!ctl->flush && /* with flush, it is safer to disable fastuidl */
NUM_NONZERO (fastuidl))
{