{
// Asserting a sizeof directly causes some compilers to
// issue a "using constant in a conditional expression" warning
- size_t intsize = sizeof(int);
-
- wxASSERT_MSG( intsize == 4,
+ wxASSERT_MSG( wxAssertIsEqual(sizeof(int), 4),
"size_t32 is incorrectly defined!" );
}
} intsizechecker;
#ifdef __WXDEBUG__
+// wxASSERT() helper
+bool wxAssertIsEqual(int x, int y)
+{
+ return x == y;
+}
+
// break into the debugger
-void Trap()
+void wxTrap()
{
#ifdef __WXMSW__
DebugBreak();
if ( s_bInAssert ) {
// He-e-e-e-elp!! we're trapped in endless loop
- Trap();
+ wxTrap();
s_bInAssert = FALSE;
switch ( ::MessageBox(NULL, szBuf, _T("Debug"),
MB_YESNOCANCEL | MB_ICONSTOP ) ) {
case IDYES:
- Trap();
+ wxTrap();
break;
case IDCANCEL:
switch ( wxMessageBox(szBuf, wxT("Debug"),
wxYES_NO | wxCANCEL | wxICON_STOP ) ) {
case wxYES:
- Trap();
+ wxTrap();
break;
case wxCANCEL:
#endif // GUI or MSW
#else // !GUI
- Trap();
+ wxTrap();
#endif // GUI/!GUI
}
} g_strEmpty = { {-1, 0, 0}, wxT('\0') };
#if defined(__VISAGECPP__) && __IBMCPP__ >= 400
-// must define this static for VA or else you get multiply defined symbols everywhere
+// must define this static for VA or else you get multiply defined symbols
+// everywhere
const unsigned int wxSTRING_MAXLEN = UINT_MAX - 100;
-
-#endif
+#endif // Visual Age
// empty C style string: points to 'string data' byte of g_strEmpty
extern const wxChar WXDLLEXPORT *wxEmptyString = &g_strEmpty.dummy;
void wxArrayString::Grow()
{
// only do it if no more place
- if( m_nCount == m_nSize ) {
- if( m_nSize == 0 ) {
+ if ( m_nCount == m_nSize ) {
+ // if ARRAY_DEFAULT_INITIAL_SIZE were set to 0, the initially empty would
+ // be never resized!
+ #if ARRAY_DEFAULT_INITIAL_SIZE == 0
+ #error "ARRAY_DEFAULT_INITIAL_SIZE must be > 0!"
+ #endif
+
+ if ( m_nSize == 0 ) {
// was empty, alloc some memory
m_nSize = ARRAY_DEFAULT_INITIAL_SIZE;
m_pItems = new wxChar *[m_nSize];