]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/buffer.h
CW8.3+ has ssize_t (patch 1492413)
[wxWidgets.git] / include / wx / buffer.h
index bd02a935dbbe548d2a7807423ada5588cfe623cd..f17aa0c1abaec6c582a452f3358dd031eb1bfb32 100644 (file)
@@ -64,6 +64,12 @@ public:                                                                     \
         return p;                                                           \
     }                                                                       \
                                                                             \
         return p;                                                           \
     }                                                                       \
                                                                             \
+    void reset()                                                            \
+    {                                                                       \
+        free(m_str);                                                        \
+        m_str = NULL;                                                       \
+    }                                                                       \
+                                                                            \
     classname(const classname& src)                                         \
         : m_str(src.release())                                              \
     {                                                                       \
     classname(const classname& src)                                         \
         : m_str(src.release())                                              \
     {                                                                       \
@@ -84,6 +90,18 @@ public:                                                                     \
         return *this;                                                       \
     }                                                                       \
                                                                             \
         return *this;                                                       \
     }                                                                       \
                                                                             \
+    bool extend(size_t len)                                                 \
+    {                                                                       \
+        chartype *                                                          \
+            str = (chartype *)realloc(m_str, (len + 1)*sizeof(chartype));   \
+        if ( !str )                                                         \
+            return false;                                                   \
+                                                                            \
+        m_str = str;                                                        \
+                                                                            \
+        return true;                                                        \
+    }                                                                       \
+                                                                            \
     chartype *data() { return m_str; }                                      \
     const chartype *data() const { return m_str; }                          \
     operator const chartype *() const { return m_str; }                     \
     chartype *data() { return m_str; }                                      \
     const chartype *data() const { return m_str; }                          \
     operator const chartype *() const { return m_str; }                     \
@@ -104,11 +122,15 @@ DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW);
 #undef DEFINE_BUFFER
 
 #if wxUSE_UNICODE
 #undef DEFINE_BUFFER
 
 #if wxUSE_UNICODE
+    typedef wxWCharBuffer wxWxCharBuffer;
+
     #define wxMB2WXbuf wxWCharBuffer
     #define wxWX2MBbuf wxCharBuffer
     #define wxWC2WXbuf wxChar*
     #define wxWX2WCbuf wxChar*
 #else // ANSI
     #define wxMB2WXbuf wxWCharBuffer
     #define wxWX2MBbuf wxCharBuffer
     #define wxWC2WXbuf wxChar*
     #define wxWX2WCbuf wxChar*
 #else // ANSI
+    typedef wxCharBuffer wxWxCharBuffer;
+
     #define wxMB2WXbuf wxChar*
     #define wxWX2MBbuf wxChar*
     #define wxWC2WXbuf wxCharBuffer
     #define wxMB2WXbuf wxChar*
     #define wxWX2MBbuf wxChar*
     #define wxWC2WXbuf wxCharBuffer