[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

gramps gramps at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 05:49:30 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 4b082c64dfb6ef2c083f65f06c86d253fc9e2159
Author: gramps <gramps at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 5 17:17:03 2001 +0000

    Implemented replace
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/kwq/KWQString.mm b/WebCore/kwq/KWQString.mm
index 7384268..ec800c8 100644
--- a/WebCore/kwq/KWQString.mm
+++ b/WebCore/kwq/KWQString.mm
@@ -1024,12 +1024,25 @@ QString &QString::remove(uint index, uint width)
     return *this;
 }
 
-QString &QString::replace(const QRegExp &, const QString &)
+QString &QString::replace(const QRegExp &qre, const QString &qs)
 {
     flushCache();
-    // FIXME: not yet implemented
-    NSLog(@"WARNING %s:%s:%d (NOT YET IMPLEMENTED)\n", __FILE__, __FUNCTION__,
-            __LINE__);
+    if (s) {
+        int len = qs.length();
+        for (int i = 0; i < CFStringGetLength(s); i += len) {
+            int width;
+            i = qre.match(*this, i, &width, FALSE);
+            if (i < 0) {
+                break;
+            }
+            CFRange r = CFRangeMake(i, width);
+            if (len) {
+                CFStringReplace(s, r, qs.s);
+            } else {
+                CFStringDelete(s, r);
+            }
+        }
+    }
     return *this;
 }
 
diff --git a/WebCore/src/kwq/KWQString.mm b/WebCore/src/kwq/KWQString.mm
index 7384268..ec800c8 100644
--- a/WebCore/src/kwq/KWQString.mm
+++ b/WebCore/src/kwq/KWQString.mm
@@ -1024,12 +1024,25 @@ QString &QString::remove(uint index, uint width)
     return *this;
 }
 
-QString &QString::replace(const QRegExp &, const QString &)
+QString &QString::replace(const QRegExp &qre, const QString &qs)
 {
     flushCache();
-    // FIXME: not yet implemented
-    NSLog(@"WARNING %s:%s:%d (NOT YET IMPLEMENTED)\n", __FILE__, __FUNCTION__,
-            __LINE__);
+    if (s) {
+        int len = qs.length();
+        for (int i = 0; i < CFStringGetLength(s); i += len) {
+            int width;
+            i = qre.match(*this, i, &width, FALSE);
+            if (i < 0) {
+                break;
+            }
+            CFRange r = CFRangeMake(i, width);
+            if (len) {
+                CFStringReplace(s, r, qs.s);
+            } else {
+                CFStringDelete(s, r);
+            }
+        }
+    }
     return *this;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list