2006-12-08 MorganL <morganl.webkit@yahoo.com>
[WebKit-https.git] / WebCore / platform / CString.h
index ac32caa37476c0b0b6907fd7cf9ef5b047a5e2d7..8119493de6fdf6e095afb1fdc4e703663132e00b 100644 (file)
@@ -44,6 +44,8 @@ namespace WebCore {
         Vector<char> m_vector;
     };
 
+    // A container for a null-terminated char array supporting copy-on-write
+    // assignment.  The contained char array may be null.
     class CString {
     public:
         CString() { }
@@ -51,17 +53,19 @@ namespace WebCore {
         CString(const char*, unsigned length);
         static CString newUninitialized(size_t length, char*& characterBuffer);
 
-        const char* data() const;
+        const char* data() const { return m_buffer ? m_buffer->data() : 0; }
         char* mutableData();
         unsigned length() const;
 
         operator const char*() const { return data(); }        
-
+        
         bool isNull() const { return !m_buffer; }
 
         CString(const DeprecatedCString&);
         DeprecatedCString deprecatedCString() const;
 
+        int find(const char*, int index=0) const;
+
     private:
         void copyBufferIfNeeded();
         void init(const char*, unsigned length);