From ead067dedf3af154376d3a570e417afc11efdc34 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 30 Oct 2006 11:20:11 +0000 Subject: [PATCH] slightly reduce the number of #ifndef __WATCOMC__ git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/string.cpp | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/src/common/string.cpp b/src/common/string.cpp index 6bfe815b8e..b0bc3a1864 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -1698,47 +1698,40 @@ bool wxStringToIntType(const wxChar *start, 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 // 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") ); \ wxASSERT_MSG( !base || (base > 1 && base <= 36), _T("invalid base") ); \ \ errno = 0; \ \ 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 { -#ifndef __WATCOMC__ - return -#endif - wxStringToIntType(c_str(), val, base, wxStrtol); + wxSTR2INT(val, base, wxStrtol); } bool wxString::ToULong(unsigned long *val, int base) const { -#ifndef __WATCOMC__ - return -#endif - wxStringToIntType(c_str(), val, base, wxStrtoul); + wxSTR2INT(val, base, wxStrtoul); } bool wxString::ToLongLong(wxLongLong_t *val, int base) const { #ifdef wxHAS_STRTOLL -#ifndef __WATCOMC__ - return -#endif - wxStringToIntType(c_str(), val, base, wxStrtoll); + wxSTR2INT(val, base, wxStrtoll); #else // TODO: implement this ourselves wxUnusedVar(val); @@ -1750,10 +1743,7 @@ bool wxString::ToLongLong(wxLongLong_t *val, int base) const bool wxString::ToULongLong(wxULongLong_t *val, int base) const { #ifdef wxHAS_STRTOLL -#ifndef __WATCOMC__ - return -#endif - wxStringToIntType(c_str(), val, base, wxStrtoull); + wxSTR2INT(val, base, wxStrtoull); #else // TODO: implement this ourselves wxUnusedVar(val); -- 2.45.2