slightly reduce the number of #ifndef __WATCOMC__

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-10-30 11:20:11 +00:00
parent bca6a3a555
commit ead067dedf

View File

@@ -1698,47 +1698,40 @@ bool wxStringToIntType(const wxChar *start,
return !*end && (end != start) && (errno != ERANGE); return !*end && (end != start) && (errno != ERANGE);
} }
#else #define wxSTR2INT(val, b, func) return wxStringToIntType(c_str(), val, b, func)
#else // __WATCOMC__
// FIXME, TODO, ASAP !!! - ugly trick to make release for Open Watcom possible // FIXME, TODO, ASAP !!! - ugly trick to make release for Open Watcom possible
// without changing code flow for other compilers // without changing code flow for other compilers
#define wxStringToIntType(start, val, base, func) \ #define wxSTR2INT(val, base, func) \
wxCHECK_MSG( val, false, _T("NULL output pointer") ); \ wxCHECK_MSG( val, false, _T("NULL output pointer") ); \
wxASSERT_MSG( !base || (base > 1 && base <= 36), _T("invalid base") ); \ wxASSERT_MSG( !base || (base > 1 && base <= 36), _T("invalid base") ); \
\ \
errno = 0; \ errno = 0; \
\ \
wxChar *end; \ wxChar *end; \
*val = (*func)(start, &end, base); \ *val = (*func)(c_str(), &end, base); \
\ \
return !*end && (end != start) && (errno != ERANGE) return !*end && (end != c_str()) && (errno != ERANGE)
#endif #endif // !__WATCOMC__/__WATCOMC__
bool wxString::ToLong(long *val, int base) const bool wxString::ToLong(long *val, int base) const
{ {
#ifndef __WATCOMC__ wxSTR2INT(val, base, wxStrtol);
return
#endif
wxStringToIntType(c_str(), val, base, wxStrtol);
} }
bool wxString::ToULong(unsigned long *val, int base) const bool wxString::ToULong(unsigned long *val, int base) const
{ {
#ifndef __WATCOMC__ wxSTR2INT(val, base, wxStrtoul);
return
#endif
wxStringToIntType(c_str(), val, base, wxStrtoul);
} }
bool wxString::ToLongLong(wxLongLong_t *val, int base) const bool wxString::ToLongLong(wxLongLong_t *val, int base) const
{ {
#ifdef wxHAS_STRTOLL #ifdef wxHAS_STRTOLL
#ifndef __WATCOMC__ wxSTR2INT(val, base, wxStrtoll);
return
#endif
wxStringToIntType(c_str(), val, base, wxStrtoll);
#else #else
// TODO: implement this ourselves // TODO: implement this ourselves
wxUnusedVar(val); wxUnusedVar(val);
@@ -1750,10 +1743,7 @@ bool wxString::ToLongLong(wxLongLong_t *val, int base) const
bool wxString::ToULongLong(wxULongLong_t *val, int base) const bool wxString::ToULongLong(wxULongLong_t *val, int base) const
{ {
#ifdef wxHAS_STRTOLL #ifdef wxHAS_STRTOLL
#ifndef __WATCOMC__ wxSTR2INT(val, base, wxStrtoull);
return
#endif
wxStringToIntType(c_str(), val, base, wxStrtoull);
#else #else
// TODO: implement this ourselves // TODO: implement this ourselves
wxUnusedVar(val); wxUnusedVar(val);