af7ed311ed
The fix to the length allocated for the buffer (which was off by 1) in
wx2stc() in 9f81ac16f0
exposed another bug,
which used to compensate for that one, in wx2stclen(), so fix it too.
See #16776.
55 lines
1.6 KiB
C
55 lines
1.6 KiB
C
////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/stc/private.h
|
|
// Purpose: Private declarations for wxSTC
|
|
// Author: Robin Dunn
|
|
// Created: 2007-07-15
|
|
// Copyright: (c) 2000 by Total Control Software
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_STC_PRIVATE_H_
|
|
#define _WX_STC_PRIVATE_H_
|
|
|
|
#include "wx/defs.h"
|
|
#include "wx/string.h"
|
|
|
|
//----------------------------------------------------------------------
|
|
// Utility functions used within wxSTC
|
|
|
|
#if wxUSE_UNICODE
|
|
|
|
extern wxString stc2wx(const char* str);
|
|
extern wxString stc2wx(const char* str, size_t len);
|
|
extern wxCharBuffer wx2stc(const wxString& str);
|
|
|
|
// This function takes both wxString and wxCharBuffer because it uses either
|
|
// one or the other of them depending on the build mode. In Unicode it uses the
|
|
// length of the already converted buffer to avoid doing the conversion again
|
|
// just to compute the length.
|
|
inline size_t wx2stclen(const wxString& WXUNUSED(str), const wxCharBuffer& buf)
|
|
{
|
|
return buf.length();
|
|
}
|
|
|
|
#else // not UNICODE
|
|
|
|
inline wxString stc2wx(const char* str) {
|
|
return wxString(str);
|
|
}
|
|
inline wxString stc2wx(const char* str, size_t len) {
|
|
return wxString(str, len);
|
|
}
|
|
inline const char* wx2stc(const wxString& str) {
|
|
return str.mbc_str();
|
|
}
|
|
|
|
// As explained above, the buffer argument is only used in Unicode build.
|
|
inline size_t wx2stclen(const wxString& str, const char* WXUNUSED(buf))
|
|
{
|
|
return str.length();
|
|
}
|
|
|
|
#endif // UNICODE
|
|
|
|
#endif // _WX_STC_PRIVATE_H_
|