[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    kio_imap fixes
From:       "Dirk Mueller" <dirk.mueller () uni-kl ! de>
Date:       2002-03-30 1:11:17
[Download RAW message or body]

Hi, 

Below my attempt to fix some of the numerous ABR's in kio_imap. 

Please review. 


Dirk

["imap.diff" (text/plain)]

Index: imap4/imapparser.cc
===================================================================
RCS file: /home/kde/kdebase/kioslave/imap4/imapparser.cc,v
retrieving revision 1.41
diff -u -3 -d -p -r1.41 imapparser.cc
--- imap4/imapparser.cc	2002/02/20 08:40:57	1.41
+++ imap4/imapparser.cc	2002/03/30 01:09:47
@@ -1527,7 +1527,7 @@ QByteArray imapParser::parseOneWord (par
 {
   QCString retVal;
 
-  if (inWords[0] == '"')
+  if (inWords.length() && inWords[0] == '"')
   {
     int i = 1;
     bool quote = FALSE;
@@ -1554,15 +1554,13 @@ QByteArray imapParser::parseOneWord (par
   }
   else
   {
-    int i = -1;
-    char ch;
-    do
-    {
-      i++;
-      ch = inWords[i];
-    } while (i < inWords.length() && ch != ' ' && ch != '(' && ch != ')'
-      && ch != '\r' && ch != '\n' && ch != '\t'
-      && (!stopAtBracket || (ch != '[' && ch != ']')));
+      int i;
+      for (i = 0; i < inWords.length(); ++i) {
+          char ch = inWords[i];
+          if (ch <= ' ' || ch == '(' || ch == ')' ||
+              (stopAtBracket && (ch == '[' || ch == ']')))
+              break;
+      }
 
     if (i < inWords.length())
     {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic