use wxCOMPILE_TIME_ASSERT instead of the run-time checks

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-02-06 20:11:32 +00:00
parent 8f5d910492
commit cfb20656e1

View File

@@ -88,20 +88,9 @@ typedef unsigned char size_t8;
typedef unsigned long size_t32;
#else
// assume sizeof(int) == 4 - what else can we do
typedef unsigned int size_t32;
wxCOMPILE_TIME_ASSERT( sizeof(int) == 4, IntMustBeExactly4Bytes);
// ... but at least check it during run time
static class IntSizeChecker
{
public:
IntSizeChecker()
{
// Asserting a sizeof directly causes some compilers to
// issue a "using constant in a conditional expression" warning
wxASSERT_MSG( wxAssertIsEqual(sizeof(int), 4),
"size_t32 is incorrectly defined!" );
}
} intsizechecker;
typedef unsigned int size_t32;
#endif
#endif // Win/!Win
@@ -1488,6 +1477,58 @@ bool wxLocale::AddCatalog(const wxChar *szDomain)
}
}
// ----------------------------------------------------------------------------
// accessors for locale-dependent data
// ----------------------------------------------------------------------------
#ifdef __WXMSW__
/* static */
wxString wxLocale::GetInfo(wxLocaleInfo index)
{
wxString str;
wxChar buffer[256];
size_t count;
buffer[0] = wxT('\0');
switch (index)
{
case wxSYS_DECIMAL_SEPARATOR:
count = ::GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buffer, 256);
if (!count)
str << ".";
else
str << buffer;
break;
case wxSYS_LIST_SEPARATOR:
count = ::GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLIST, buffer, 256);
if (!count)
str << ",";
else
str << buffer;
break;
case wxSYS_LEADING_ZERO: // 0 means no leading zero, 1 means leading zero
count = ::GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_ILZERO, buffer, 256);
if (!count)
str << "0";
else
str << buffer;
break;
default:
wxFAIL_MSG("Unknown System String !");
}
return str;
}
#else // !__WXMSW__
/* static */
wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory)
{
return wxEmptyString;
}
#endif // __WXMSW__/!__WXMSW__
// ----------------------------------------------------------------------------
// global functions and variables
// ----------------------------------------------------------------------------