X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/338084945b3076464083aa3b750e4b03baa37887..b02dd12239c8a59b9a545d9fcb04974f8ad02c6b:/include/wx/buffer.h diff --git a/include/wx/buffer.h b/include/wx/buffer.h index 4c5c27eede..ec0e1fc765 100644 --- a/include/wx/buffer.h +++ b/include/wx/buffer.h @@ -15,9 +15,7 @@ #include "wx/chartype.h" #include "wx/wxcrtbase.h" -#ifndef __WXPALMOS5__ #include // malloc() and free() -#endif // ! __WXPALMOS5__ class WXDLLIMPEXP_FWD_BASE wxCStrData; @@ -260,7 +258,7 @@ public: { 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 { @@ -295,7 +293,7 @@ public: wxCharTypeBuffer(const wxScopedCharTypeBuffer& src) { - MakeOwnedCopyOf(src); + this->MakeOwnedCopyOf(src); } wxCharTypeBuffer& operator=(const wxScopedCharTypeBuffer& src) @@ -314,6 +312,10 @@ public: 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); @@ -537,6 +539,8 @@ public: 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) { @@ -544,6 +548,8 @@ public: 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) {