for (n = 1; n <= session->count; n++) {
msg = &session->msg[n];
- if (msg->uidl && msg->received && !msg->deleted) {
+ if (msg->uidl && msg->received &&
+ (!msg->deleted || session->state != POP3_DONE))
fprintf(fp, "%s\t%ld\t%d\n",
msg->uidl, msg->recv_time, msg->partial_recv);
- }
}
if (fclose(fp) == EOF) FILE_OP_ERROR(path, "fclose");
}
break;
case POP3_LOGOUT:
+ pop3_session->state = POP3_DONE;
session_disconnect(session);
break;
case POP3_ERROR: