From 45f20f8f9175eaa689dda2a683ec49435efc2bca Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Sun, 22 May 2011 08:49:31 +0000 Subject: [PATCH] Fix reading long lines in multiple bunches. Thanks pulkomandy for testing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41651 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../inbound_protocols/imap/imap_lib/IMAPProtocol.cpp | 4 ++-- .../inbound_protocols/imap/imap_lib/IMAPProtocol.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.cpp b/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.cpp index 8255cc84e4..cc85a3faef 100644 --- a/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.cpp +++ b/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.cpp @@ -24,7 +24,7 @@ ConnectionReader::ConnectionReader(ServerConnection* connection) status_t ConnectionReader::GetNextLine(BString& line, bigtime_t timeout, - uint32 minUnfinishedLine) + int32 maxUnfinishedLine) { line.SetTo((const char*)NULL, 0); @@ -33,7 +33,7 @@ ConnectionReader::GetNextLine(BString& line, bigtime_t timeout, if (status == B_OK) return status; if (status == B_NAME_NOT_FOUND) { - if (line.Length() < (int32)minUnfinishedLine) + if (maxUnfinishedLine < 0 || line.Length() < maxUnfinishedLine) continue; else return status; diff --git a/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.h b/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.h index 82d6620e1c..df8beb56f9 100644 --- a/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.h +++ b/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib/IMAPProtocol.h @@ -32,7 +32,7 @@ public: minUnfinishedLine characters are returned. */ status_t GetNextLine(BString& line, bigtime_t timeout = kIMAP4ClientTimeout, - uint32 minUnfinishedLine = 128); + int32 maxUnfinishedLine = -1); /*! Read data and append it to line till the end of file is reached. */ status_t FinishLine(BString& line);