[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: PATCH: Internal POP3 error
From: Michael =?iso-8859-1?q?H=E4ckel?= <Michael () Haeckel ! Net>
Date: 2001-06-30 21:44:03
[Download RAW message or body]
Hi,
attached patch fixes the problem, that the pop3 kio slave currently reports
on average after every 2000 mails and internal error.
Actually I though, I tested all cases by setting the packet size temporarily
to 1, but I always tested only retrieving a single mail and not several.
If you change
ssize_t readlen = Read(buf, sizeof(buf)-1);
to
ssize_t readlen = Read(buf, 1);
it is always reproducable, if there are more than one mails on the server.
Please review.
Regards,
Michael Häckel
["internal-error.diff" (text/x-diff)]
Index: pop3.cc
===================================================================
RCS file: /home/kde/kdebase/kioslave/pop3/pop3.cc,v
retrieving revision 1.115
diff -u -3 -p -r1.115 pop3.cc
--- pop3.cc 2001/06/24 10:33:29 1.115
+++ pop3.cc 2001/06/30 21:36:42
@@ -764,7 +764,11 @@ void POP3Protocol::get (const KURL& url)
// "." means end of data
for (ssize_t i = 0; i < readlen; i++)
{
- if (*buf1 == '\r' && eat) { endOfMail = true; break; }
+ if (*buf1 == '\r' && eat) {
+ endOfMail = true;
+ if (i == readlen - 1 && !AtEOF()) Read(buf, 1);
+ break;
+ }
else if (*buf1 == '\n') { newline = true; eat = false; }
else if (*buf1 == '.' && newline) { newline = false; eat = true; }
else { newline = false; eat = false; }
_______________________________________________
Kmail Developers mailing list
Kmail@master.kde.org
http://master.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic