From bdcb213757b966746ffc73bf01ec2e838d867cd3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Mon, 25 Jun 2007 17:53:30 +0000 Subject: [PATCH] compilation fix if wxLongLong_t is not available git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/wxcrt.h | 2 ++ include/wx/wxcrtbase.h | 26 ++++++++++++++++++-------- src/common/wxcrt.cpp | 3 +++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/include/wx/wxcrt.h b/include/wx/wxcrt.h index 49b5b2ca42..4a1f226134 100644 --- a/include/wx/wxcrt.h +++ b/include/wx/wxcrt.h @@ -832,8 +832,10 @@ inline double wxStrtod(const wxCStrData& nptr, T endptr) WX_STRTOX_FUNC(long, wxStrtol, wxCRT_StrtolA, wxCRT_StrtolW) WX_STRTOX_FUNC(unsigned long, wxStrtoul, wxCRT_StrtoulA, wxCRT_StrtoulW) +#ifdef wxLongLong_t WX_STRTOX_FUNC(wxLongLong_t, wxStrtoll, wxCRT_StrtollA, wxCRT_StrtollW) WX_STRTOX_FUNC(wxULongLong_t, wxStrtoull, wxCRT_StrtoullA, wxCRT_StrtoullW) +#endif // wxLongLong_t #undef WX_STRTOX_FUNC diff --git a/include/wx/wxcrtbase.h b/include/wx/wxcrtbase.h index e9f28d43cc..c93692ff68 100644 --- a/include/wx/wxcrtbase.h +++ b/include/wx/wxcrtbase.h @@ -369,14 +369,24 @@ WXDLLIMPEXP_BASE wchar_t *wxCRT_StrtokW(wchar_t *psz, const wchar_t *delim, wcha #endif /* supply strtoll and strtoull, if needed */ -#ifndef wxCRT_StrtollA - WXDLLIMPEXP_BASE wxLongLong_t wxCRT_StrtollA(const char* nptr, char** endptr, int base); - WXDLLIMPEXP_BASE wxULongLong_t wxCRT_StrtoullA(const char* nptr, char** endptr, int base); -#endif -#ifndef wxCRT_StrtollW - WXDLLIMPEXP_BASE wxLongLong_t wxCRT_StrtollW(const wchar_t* nptr, wchar_t** endptr, int base); - WXDLLIMPEXP_BASE wxULongLong_t wxCRT_StrtoullW(const wchar_t* nptr, wchar_t** endptr, int base); -#endif +#ifdef wxLongLong_t + #ifndef wxCRT_StrtollA + WXDLLIMPEXP_BASE wxLongLong_t wxCRT_StrtollA(const char* nptr, + char** endptr, + int base); + WXDLLIMPEXP_BASE wxULongLong_t wxCRT_StrtoullA(const char* nptr, + char** endptr, + int base); + #endif + #ifndef wxCRT_StrtollW + WXDLLIMPEXP_BASE wxLongLong_t wxCRT_StrtollW(const wchar_t* nptr, + wchar_t** endptr, + int base); + WXDLLIMPEXP_BASE wxULongLong_t wxCRT_StrtoullW(const wchar_t* nptr, + wchar_t** endptr, + int base); + #endif +#endif // wxLongLong_t /* ------------------------------------------------------------------------- diff --git a/src/common/wxcrt.cpp b/src/common/wxcrt.cpp index a098825bf3..2b862a043a 100644 --- a/src/common/wxcrt.cpp +++ b/src/common/wxcrt.cpp @@ -866,6 +866,7 @@ wxCRT_StrftimeW(wchar_t *s, size_t maxsize, const wchar_t *fmt, const struct tm #endif // wxUSE_WCHAR_T +#ifdef wxLongLong_t template static wxULongLong_t wxCRT_StrtoullBase(const T* nptr, T** endptr, int base, T* sign) @@ -1019,6 +1020,8 @@ wxULongLong_t wxCRT_StrtoullW(const wchar_t* nptr, wchar_t** endptr, int base) { return wxCRT_DoStrtoull(nptr, endptr, base); } #endif +#endif // wxLongLong_t + // ---------------------------------------------------------------------------- // functions which we may need even if !wxUSE_WCHAR_T // ---------------------------------------------------------------------------- -- 2.47.2