From e8108e50668cac57209d4f0e2b2afc80f8463d7a Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Sun, 7 Aug 2011 17:38:33 +0000 Subject: [PATCH] Fixes #5732. * some fixes for WinCE * updated explicit failures markup [SVN r73601] --- include/boost/lexical_cast.hpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index 25884b6..34a0aed 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -1156,7 +1156,7 @@ namespace boost { using namespace std; if (put_inf_nan(start,finish,val)) return true; finish = start + swprintf(out, -#if !defined(__MINGW32__) +#if !defined(__MINGW32__) && !defined(UNDER_CE) finish-start, #endif L"%.*g", static_cast(boost::detail::lcast_get_precision()), val ); @@ -1172,11 +1172,12 @@ namespace boost * For mingw-w64, __MINGW64__ is defined, too, when targetting * 64 bits. * - * swprintf realization in MinGW does not conform to the ISO C + * swprintf realization in MinGW and under WinCE does not conform + * to the ISO C * Standard. */ finish = start + swprintf(out, -#if !defined(__MINGW32__) +#if !defined(__MINGW32__) && !defined(UNDER_CE) finish-start, #endif L"%.*lg", static_cast(boost::detail::lcast_get_precision()), val ); @@ -1187,10 +1188,14 @@ namespace boost bool shl_long_double(long double val,wchar_t* out) { using namespace std; if (put_inf_nan(start,finish,val)) return true; - finish = start + swprintf(out, finish-start, L"%.*Lg", static_cast(boost::detail::lcast_get_precision()), val ); + finish = start + swprintf(out, +#if !defined(UNDER_CE) + finish-start, +#endif + L"%.*Lg", static_cast(boost::detail::lcast_get_precision()), val ); return finish > start; } - #endif +#endif #endif