fixed compilation in Unicode build (it was silently disabled before...)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2007-06-21 21:34:53 +00:00
parent b05fde97c5
commit 7b673beff4

View File

@ -16,9 +16,7 @@
#pragma hdrstop #pragma hdrstop
#endif #endif
// Doesn't yet compile in Unicode mode #if wxUSE_CONFIG
#if wxUSE_CONFIG && !wxUSE_UNICODE
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/msw/wrapwin.h" #include "wx/msw/wrapwin.h"
@ -154,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 char *p = m_strPath; *p != '\0'; p++ ) { for ( const wxChar *p = m_strPath; *p != '\0'; p++ ) {
s_str << (*p == PATH_SEP_REPLACE ? wxCONFIG_PATH_SEPARATOR : *p); s_str << (*p == PATH_SEP_REPLACE ? wxCONFIG_PATH_SEPARATOR : *p);
} }
} }
@ -257,14 +255,14 @@ bool wxIniConfig::HasEntry(const wxString& WXUNUSED(strName)) const
// is current group empty? // is current group empty?
bool wxIniConfig::IsEmpty() const bool wxIniConfig::IsEmpty() const
{ {
char szBuf[1024]; wxChar szBuf[1024];
GetPrivateProfileString(m_strGroup, NULL, "", GetPrivateProfileString(m_strGroup, NULL, _T(""),
szBuf, WXSIZEOF(szBuf), m_strLocalFilename); szBuf, WXSIZEOF(szBuf), m_strLocalFilename);
if ( !wxIsEmpty(szBuf) ) if ( !wxIsEmpty(szBuf) )
return false; return false;
GetProfileString(m_strGroup, NULL, "", szBuf, WXSIZEOF(szBuf)); GetProfileString(m_strGroup, NULL, _T(""), szBuf, WXSIZEOF(szBuf));
if ( !wxIsEmpty(szBuf) ) if ( !wxIsEmpty(szBuf) )
return false; return false;
@ -280,17 +278,17 @@ bool wxIniConfig::DoReadString(const wxString& szKey, wxString *pstr) const
wxConfigPathChanger path(this, szKey); wxConfigPathChanger path(this, szKey);
wxString strKey = GetPrivateKeyName(path.Name()); wxString strKey = GetPrivateKeyName(path.Name());
char szBuf[1024]; // @@ should dynamically allocate memory... wxChar szBuf[1024]; // FIXME: should dynamically allocate memory...
// 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, "", GetPrivateProfileString(m_strGroup, strKey, _T(""),
szBuf, WXSIZEOF(szBuf), m_strLocalFilename); szBuf, WXSIZEOF(szBuf), m_strLocalFilename);
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, "", szBuf, WXSIZEOF(szBuf)); GetProfileString(m_strGroup, strKey, _T(""), szBuf, WXSIZEOF(szBuf));
} }
if ( wxIsEmpty(szBuf) ) if ( wxIsEmpty(szBuf) )
@ -353,11 +351,7 @@ bool wxIniConfig::DoWriteString(const wxString& szKey, const wxString& szValue)
bool wxIniConfig::DoWriteLong(const wxString& szKey, long lValue) bool wxIniConfig::DoWriteLong(const wxString& szKey, long lValue)
{ {
// ltoa() is not ANSI :-( return Write(szKey, wxString::Format(_T("%ld"), lValue));
char szBuf[40]; // should be good for sizeof(long) <= 16 (128 bits)
sprintf(szBuf, "%ld", lValue);
return Write(szKey, szBuf);
} }
bool wxIniConfig::Flush(bool /* bCurrentOnly */) bool wxIniConfig::Flush(bool /* bCurrentOnly */)
@ -377,7 +371,7 @@ bool wxIniConfig::DeleteEntry(const wxString& szKey, bool bGroupIfEmptyAlso)
wxString strKey = GetPrivateKeyName(path.Name()); wxString strKey = GetPrivateKeyName(path.Name());
if (WritePrivateProfileString(m_strGroup, strKey, if (WritePrivateProfileString(m_strGroup, strKey,
(const char*) NULL, m_strLocalFilename) == 0) NULL, m_strLocalFilename) == 0)
return false; return false;
if ( !bGroupIfEmptyAlso || !IsEmpty() ) if ( !bGroupIfEmptyAlso || !IsEmpty() )
@ -418,7 +412,7 @@ bool wxIniConfig::DeleteAll()
WriteProfileString(GetVendorName(), NULL, NULL); WriteProfileString(GetVendorName(), NULL, NULL);
// then delete our own ini file // then delete our own ini file
char szBuf[MAX_PATH]; wxChar szBuf[MAX_PATH];
size_t nRc = GetWindowsDirectory(szBuf, WXSIZEOF(szBuf)); size_t nRc = GetWindowsDirectory(szBuf, WXSIZEOF(szBuf));
if ( nRc == 0 ) if ( nRc == 0 )
{ {
@ -454,5 +448,4 @@ bool wxIniConfig::RenameGroup(const wxString& WXUNUSED(oldName),
return false; return false;
} }
#endif #endif // wxUSE_CONFIG
// wxUSE_CONFIG && wxUSE_UNICODE