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

List:       kde-commits
Subject:    kdebase/kioslave/imap4
From:       George Staikos <staikos () kde ! org>
Date:       2004-04-02 17:56:04
Message-ID: 20040402175604.4DCD299DD () office ! kde ! org
[Download RAW message or body]

CVS commit by staikos: 

commit all but the bad portion of the last part reverted


  M +8 -6      imapparser.cc   1.74
  M +11 -7     imapparser.h   1.35


--- kdebase/kioslave/imap4/imapparser.cc  #1.73:1.74
@@ -1457,5 +1457,5 @@ imapParser::parseURL (const KURL & _url,
   if (parameters.count () > 0)  //assertion failure otherwise
     parameters.remove (parameters.begin ());  //strip path
-  _box = _box.left (_box.find (';')); // strip parameters
+  _box.truncate(_box.find (';')); // strip parameters
   for (QStringList::ConstIterator it (parameters.begin ());
        it != parameters.end (); ++it)
@@ -1466,5 +1466,5 @@ imapParser::parseURL (const KURL & _url,
     int pt = temp.find ('/');
     if (pt > 0)
-      temp = temp.left(pt);
+      temp.truncate(pt);
 //    if(temp[temp.length()-1] == '/')
 //      temp = temp.left(temp.length()-1);
@@ -1504,5 +1504,7 @@ QCString imapParser::parseLiteralC(parse
       bool proper;
       ulong runLenSave = runLen + 1;
-      runLen = inWords.mid(1, runLen - 1).toULong (&proper);
+      QCString tmpstr;
+      inWords.takeMid(tmpstr, 1, runLen - 1);
+      runLen = tmpstr.toULong (&proper);
       inWords.pos += runLenSave;
       if (proper)
@@ -1561,5 +1563,5 @@ QCString imapParser::parseOneWordC (pars
     {
       inWords.pos++;
-      retVal = inWords.left(i - 1);
+      inWords.takeLeft(retVal, i - 1);
       len = i - 1;
 #if 0
@@ -1618,5 +1620,5 @@ QCString imapParser::parseOneWordC (pars
     if (i < len)
     {
-      retVal = inWords.left (i);
+      inWords.takeLeft(retVal, i);
       retValSize = i;
       inWords.pos += i;
@@ -1629,5 +1631,5 @@ QCString imapParser::parseOneWordC (pars
     }
     if (retVal == "NIL") {
-      retVal = "";
+      retVal.truncate(0);
       retValSize = 0;
     }

--- kdebase/kioslave/imap4/imapparser.h  #1.34:1.35
@@ -51,7 +51,7 @@ class parseString
 public:
   parseString() { pos = 0; }
-  char operator[](uint i) { return data[i + pos]; }
-  bool isEmpty() { return pos >= data.size(); }
-  QCString cstr()
+  char operator[](uint i) const { return data[i + pos]; }
+  bool isEmpty() const { return pos >= data.size(); }
+  QCString cstr() const
   {
     if (pos >= data.size()) return QCString();
@@ -63,11 +63,15 @@ public:
     return (res == -1) ? res : (res - pos);
   }
-  QCString left(uint len)
+  // Warning: does not check for going past end of "data"
+  void takeLeft(QCString& dest, uint len) const
   {
-    return QCString(data.data() + pos, len + 1);
+    dest.resize(len + 1);
+    qmemmove(dest.data(), data.data() + pos, len);
   }
-  QCString mid(uint start, uint len)
+  // Warning: does not check for going past end of "data"
+  void takeMid(QCString& dest, uint start, uint len) const
   {
-    return QCString(data.data() + pos + start, len + 1);
+    dest.resize(len + 1);
+    qmemmove(dest.data(), data.data() + pos + start, len);
   }
   void clear()


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

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