Rolling out r17865 because it caused a performance regression.
[WebKit-https.git] / WebCore / platform / CString.cpp
index 6e0285ee067883c8f76766759f9b7b57e7a19d2c..7c33adb816b1321a4787fbaa703d0cc36a4f30ce 100644 (file)
@@ -55,6 +55,11 @@ void CString::init(const char* str, unsigned length)
     m_buffer->data()[length] = '\0';
 }
 
     m_buffer->data()[length] = '\0';
 }
 
+const char* CString::data() const
+{
+    return m_buffer ? m_buffer->data() : 0;
+}
+
 char* CString::mutableData()
 {
     copyBufferIfNeeded();
 char* CString::mutableData()
 {
     copyBufferIfNeeded();
@@ -94,36 +99,4 @@ void CString::copyBufferIfNeeded()
     memcpy(m_buffer->data(), m_temp->data(), len);
 }
 
     memcpy(m_buffer->data(), m_temp->data(), len);
 }
 
-int CString::find(const char* substring, int index) const
-{
-    const char* str = data();
-    if(str && str[0] && substring && index >=0) { // don't search empty strings
-        // advance until we get to index
-        int pos = 0;
-        while(pos < index)
-            if(str[pos++] == 0)
-                return -1;                  // index is beyond end of str
-        
-        // now search from index onward
-        while(str[index] != 0) {
-            char a, b;
-            
-            // compare until we reach the end or a mismatch
-            pos = 0;
-
-            while((a = substring[pos]) && (b = str[index]) && a == b)
-                pos++, index++;
-            
-            // reached the end of our compare string without a mismatch?
-            if(substring[pos] == 0)
-                return index - pos;
-            
-            index ++;
-        }
-    }
-    
-    return -1;
-}
-
 }
 }