]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/buffer.h
Use /bin/echo for creation of Mac OS X PkgInfo files.
[wxWidgets.git] / include / wx / buffer.h
index 4c5c27eede9c6d9447b5d833644a9b5ee52e31c0..ec0e1fc7651e541c116a88a402f6c2e2621de06a 100644 (file)
@@ -15,9 +15,7 @@
 #include "wx/chartype.h"
 #include "wx/wxcrtbase.h"
 
 #include "wx/chartype.h"
 #include "wx/wxcrtbase.h"
 
-#ifndef __WXPALMOS5__
 #include <stdlib.h>             // malloc() and free()
 #include <stdlib.h>             // malloc() and free()
-#endif // ! __WXPALMOS5__
 
 class WXDLLIMPEXP_FWD_BASE wxCStrData;
 
 
 class WXDLLIMPEXP_FWD_BASE wxCStrData;
 
@@ -260,7 +258,7 @@ public:
         {
             if ( len == wxNO_LEN )
                 len = wxStrlen(str);
         {
             if ( len == wxNO_LEN )
                 len = wxStrlen(str);
-            this->m_data = new Data(StrCopy(str, len), len);
+            this->m_data = new Data(this->StrCopy(str, len), len);
         }
         else
         {
         }
         else
         {
@@ -295,7 +293,7 @@ public:
 
     wxCharTypeBuffer(const wxScopedCharTypeBuffer<T>& src)
     {
 
     wxCharTypeBuffer(const wxScopedCharTypeBuffer<T>& src)
     {
-        MakeOwnedCopyOf(src);
+        this->MakeOwnedCopyOf(src);
     }
 
     wxCharTypeBuffer& operator=(const wxScopedCharTypeBuffer<T>& src)
     }
 
     wxCharTypeBuffer& operator=(const wxScopedCharTypeBuffer<T>& src)
@@ -314,6 +312,10 @@ public:
         if ( !str )
             return false;
 
         if ( !str )
             return false;
 
+        // For consistency with the ctor taking just the length, NUL-terminate
+        // the buffer.
+        str[len] = (CharType)0;
+
         if ( this->m_data == this->GetNullData() )
         {
             this->m_data = new Data(str, len);
         if ( this->m_data == this->GetNullData() )
         {
             this->m_data = new Data(str, len);
@@ -537,6 +539,8 @@ public:
     size_t GetBufSize() const { return m_bufdata->m_size; }
     size_t GetDataLen() const { return m_bufdata->m_len; }
 
     size_t GetBufSize() const { return m_bufdata->m_size; }
     size_t GetDataLen() const { return m_bufdata->m_len; }
 
+    bool IsEmpty() const { return GetDataLen() == 0; }
+
     void   SetBufSize(size_t size) { m_bufdata->ResizeIfNeeded(size); }
     void   SetDataLen(size_t len)
     {
     void   SetBufSize(size_t size) { m_bufdata->ResizeIfNeeded(size); }
     void   SetDataLen(size_t len)
     {
@@ -544,6 +548,8 @@ public:
         m_bufdata->m_len = len;
     }
 
         m_bufdata->m_len = len;
     }
 
+    void Clear() { SetDataLen(0); }
+
     // Ensure the buffer is big enough and return a pointer to it
     void *GetWriteBuf(size_t sizeNeeded)
     {
     // Ensure the buffer is big enough and return a pointer to it
     void *GetWriteBuf(size_t sizeNeeded)
     {