class WXDLLIMPEXP_BASE classname \
{ \
public: \
- classname(const chartype *str) \
+ classname(const chartype *str = NULL) \
: m_str(str ? strdupfunc(str) : NULL) \
{ \
} \
\
- classname(size_t len=0) \
+ classname(size_t len) \
: m_str((chartype *)malloc((len + 1)*sizeof(chartype))) \
{ \
m_str[len] = (chartype)0; \
return p; \
} \
\
+ void reset() \
+ { \
+ free(m_str); \
+ m_str = NULL; \
+ } \
+ \
classname(const classname& src) \
: m_str(src.release()) \
{ \
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; } \
#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