aboutsummaryrefslogtreecommitdiffstats
path: root/pop3.c
diff options
context:
space:
mode:
Diffstat (limited to 'pop3.c')
-rw-r--r--pop3.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/pop3.c b/pop3.c
index 3e62d864..04ea97bf 100644
--- a/pop3.c
+++ b/pop3.c
@@ -1054,6 +1054,7 @@ static int pop3_getrange(int sock,
{
/* UIDL worked - parse reply */
unsigned long unum;
+ struct idlist *newl = NULL;
*newp = 0;
while (gen_recv(sock, buf, sizeof(buf)) == PS_SUCCESS)
@@ -1063,9 +1064,9 @@ static int pop3_getrange(int sock,
if (parseuid(buf, &unum, id, sizeof(id)) == PS_SUCCESS)
{
- struct idlist *old, *newl;
+ struct idlist *old;
- newl = save_str(&ctl->newsaved, id, UID_UNSEEN);
+ newl = save_str(newl ? &newl : &ctl->newsaved, id, UID_UNSEEN);
newl->val.status.num = unum;
if ((old = str_in_list(&ctl->oldsaved, id, FALSE)))