X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fedde9b906cccc1bf8c130706dd1bc28eff66aea..c8eb81728366c36a7520663c868af4a1870f7c3a:/include/wx/buffer.h diff --git a/include/wx/buffer.h b/include/wx/buffer.h index bd02a935db..55068fb0cb 100644 --- a/include/wx/buffer.h +++ b/include/wx/buffer.h @@ -30,6 +30,8 @@ public: \ { \ } \ \ + classname(const wxCStrData& cstr); \ + \ classname(size_t len) \ : m_str((chartype *)malloc((len + 1)*sizeof(chartype))) \ { \ @@ -64,6 +66,12 @@ public: \ return p; \ } \ \ + void reset() \ + { \ + free(m_str); \ + m_str = NULL; \ + } \ + \ classname(const classname& src) \ : m_str(src.release()) \ { \ @@ -84,6 +92,18 @@ public: \ 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; } \ @@ -104,11 +124,15 @@ DEFINE_BUFFER(wxWCharBuffer, wchar_t, wxStrdupW); #undef DEFINE_BUFFER #if wxUSE_UNICODE + typedef wxWCharBuffer wxWxCharBuffer; + #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