fix STL build (don't rely on implicit wxString to char* conversions)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-06-21 21:45:46 +00:00
parent 7b673beff4
commit 414721d003
2 changed files with 28 additions and 21 deletions

View File

@@ -152,7 +152,7 @@ const wxString& wxIniConfig::GetPath() const
s_str << m_strGroup; s_str << m_strGroup;
if ( !m_strPath.empty() ) if ( !m_strPath.empty() )
s_str << wxCONFIG_PATH_SEPARATOR; s_str << wxCONFIG_PATH_SEPARATOR;
for ( const wxChar *p = m_strPath; *p != '\0'; p++ ) { for ( const wxStringCharType *p = m_strPath.wx_str(); *p != '\0'; p++ ) {
s_str << (*p == PATH_SEP_REPLACE ? wxCONFIG_PATH_SEPARATOR : *p); s_str << (*p == PATH_SEP_REPLACE ? wxCONFIG_PATH_SEPARATOR : *p);
} }
} }
@@ -257,12 +257,13 @@ bool wxIniConfig::IsEmpty() const
{ {
wxChar szBuf[1024]; wxChar szBuf[1024];
GetPrivateProfileString(m_strGroup, NULL, _T(""), GetPrivateProfileString(m_strGroup.wx_str(), NULL, _T(""),
szBuf, WXSIZEOF(szBuf), m_strLocalFilename); szBuf, WXSIZEOF(szBuf),
m_strLocalFilename.wx_str());
if ( !wxIsEmpty(szBuf) ) if ( !wxIsEmpty(szBuf) )
return false; return false;
GetProfileString(m_strGroup, NULL, _T(""), szBuf, WXSIZEOF(szBuf)); GetProfileString(m_strGroup.wx_str(), NULL, _T(""), szBuf, WXSIZEOF(szBuf));
if ( !wxIsEmpty(szBuf) ) if ( !wxIsEmpty(szBuf) )
return false; return false;
@@ -283,12 +284,14 @@ bool wxIniConfig::DoReadString(const wxString& szKey, wxString *pstr) const
// first look in the private INI file // first look in the private INI file
// NB: the lpDefault param to GetPrivateProfileString can't be NULL // NB: the lpDefault param to GetPrivateProfileString can't be NULL
GetPrivateProfileString(m_strGroup, strKey, _T(""), GetPrivateProfileString(m_strGroup.wx_str(), strKey.wx_str(), _T(""),
szBuf, WXSIZEOF(szBuf), m_strLocalFilename); szBuf, WXSIZEOF(szBuf),
m_strLocalFilename.wx_str());
if ( wxIsEmpty(szBuf) ) { if ( wxIsEmpty(szBuf) ) {
// now look in win.ini // now look in win.ini
wxString strKey = GetKeyName(path.Name()); wxString strKey = GetKeyName(path.Name());
GetProfileString(m_strGroup, strKey, _T(""), szBuf, WXSIZEOF(szBuf)); GetProfileString(m_strGroup.wx_str(), strKey.wx_str(),
_T(""), szBuf, WXSIZEOF(szBuf));
} }
if ( wxIsEmpty(szBuf) ) if ( wxIsEmpty(szBuf) )
@@ -308,7 +311,8 @@ bool wxIniConfig::DoReadLong(const wxString& szKey, long *pl) const
static const int nMagic = 17; // 17 is some "rare" number static const int nMagic = 17; // 17 is some "rare" number
static const int nMagic2 = 28; // arbitrary number != nMagic static const int nMagic2 = 28; // arbitrary number != nMagic
long lVal = GetPrivateProfileInt(m_strGroup, strKey, nMagic, m_strLocalFilename); long lVal = GetPrivateProfileInt(m_strGroup.wx_str(), strKey.wx_str(),
nMagic, m_strLocalFilename.wx_str());
if ( lVal != nMagic ) { if ( lVal != nMagic ) {
// the value was read from the file // the value was read from the file
*pl = lVal; *pl = lVal;
@@ -316,7 +320,8 @@ bool wxIniConfig::DoReadLong(const wxString& szKey, long *pl) const
} }
// is it really nMagic? // is it really nMagic?
lVal = GetPrivateProfileInt(m_strGroup, strKey, nMagic2, m_strLocalFilename); lVal = GetPrivateProfileInt(m_strGroup.wx_str(), strKey.wx_str(),
nMagic2, m_strLocalFilename.wx_str());
if ( lVal != nMagic2 ) { if ( lVal != nMagic2 ) {
// the nMagic it returned was indeed read from the file // the nMagic it returned was indeed read from the file
*pl = lVal; *pl = lVal;
@@ -340,8 +345,9 @@ bool wxIniConfig::DoWriteString(const wxString& szKey, const wxString& szValue)
wxConfigPathChanger path(this, szKey); wxConfigPathChanger path(this, szKey);
wxString strKey = GetPrivateKeyName(path.Name()); wxString strKey = GetPrivateKeyName(path.Name());
bool bOk = WritePrivateProfileString(m_strGroup, strKey, bool bOk = WritePrivateProfileString(m_strGroup.wx_str(), strKey.wx_str(),
szValue, m_strLocalFilename) != 0; szValue.wx_str(),
m_strLocalFilename.wx_str()) != 0;
if ( !bOk ) if ( !bOk )
wxLogLastError(wxT("WritePrivateProfileString")); wxLogLastError(wxT("WritePrivateProfileString"));
@@ -357,7 +363,8 @@ bool wxIniConfig::DoWriteLong(const wxString& szKey, long lValue)
bool wxIniConfig::Flush(bool /* bCurrentOnly */) bool wxIniConfig::Flush(bool /* bCurrentOnly */)
{ {
// this is just the way it works // this is just the way it works
return WritePrivateProfileString(NULL, NULL, NULL, m_strLocalFilename) != 0; return WritePrivateProfileString(NULL, NULL, NULL,
m_strLocalFilename.wx_str()) != 0;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -370,16 +377,16 @@ bool wxIniConfig::DeleteEntry(const wxString& szKey, bool bGroupIfEmptyAlso)
wxConfigPathChanger path(this, szKey); wxConfigPathChanger path(this, szKey);
wxString strKey = GetPrivateKeyName(path.Name()); wxString strKey = GetPrivateKeyName(path.Name());
if (WritePrivateProfileString(m_strGroup, strKey, if (WritePrivateProfileString(m_strGroup.wx_str(), strKey.wx_str(),
NULL, m_strLocalFilename) == 0) NULL, m_strLocalFilename.wx_str()) == 0)
return false; return false;
if ( !bGroupIfEmptyAlso || !IsEmpty() ) if ( !bGroupIfEmptyAlso || !IsEmpty() )
return true; return true;
// delete the current group too // delete the current group too
bool bOk = WritePrivateProfileString(m_strGroup, NULL, bool bOk = WritePrivateProfileString(m_strGroup.wx_str(), NULL,
NULL, m_strLocalFilename) != 0; NULL, m_strLocalFilename.wx_str()) != 0;
if ( !bOk ) if ( !bOk )
wxLogLastError(wxT("WritePrivateProfileString")); wxLogLastError(wxT("WritePrivateProfileString"));
@@ -393,8 +400,8 @@ bool wxIniConfig::DeleteGroup(const wxString& szKey)
// passing NULL as section name to WritePrivateProfileString deletes the // passing NULL as section name to WritePrivateProfileString deletes the
// whole section according to the docs // whole section according to the docs
bool bOk = WritePrivateProfileString(path.Name(), NULL, bool bOk = WritePrivateProfileString(path.Name().wx_str(), NULL,
NULL, m_strLocalFilename) != 0; NULL, m_strLocalFilename.wx_str()) != 0;
if ( !bOk ) if ( !bOk )
wxLogLastError(wxT("WritePrivateProfileString")); wxLogLastError(wxT("WritePrivateProfileString"));
@@ -409,7 +416,7 @@ bool wxIniConfig::DeleteGroup(const wxString& szKey)
bool wxIniConfig::DeleteAll() bool wxIniConfig::DeleteAll()
{ {
// first delete our group in win.ini // first delete our group in win.ini
WriteProfileString(GetVendorName(), NULL, NULL); WriteProfileString(GetVendorName().wx_str(), NULL, NULL);
// then delete our own ini file // then delete our own ini file
wxChar szBuf[MAX_PATH]; wxChar szBuf[MAX_PATH];

View File

@@ -927,7 +927,7 @@ wxTextCtrl::StreamIn(const wxString& value,
#else // !wxUSE_UNICODE_MSLU #else // !wxUSE_UNICODE_MSLU
wxCSConv conv(encoding); wxCSConv conv(encoding);
const size_t len = conv.MB2WC(NULL, value, value.length()); const size_t len = conv.MB2WC(NULL, value.mb_str(), value.length());
#if wxUSE_WCHAR_T #if wxUSE_WCHAR_T
wxWCharBuffer wchBuf(len); wxWCharBuffer wchBuf(len);
@@ -937,7 +937,7 @@ wxTextCtrl::StreamIn(const wxString& value,
wchar_t *wpc = wchBuf; wchar_t *wpc = wchBuf;
#endif #endif
conv.MB2WC(wpc, value, value.length()); conv.MB2WC(wpc, value.mb_str(), value.length());
#endif // wxUSE_UNICODE_MSLU #endif // wxUSE_UNICODE_MSLU
// finally, stream it in the control // finally, stream it in the control