1.1 --- a/epoc32/include/stdapis/stlportv5/stl/_cwchar.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/stlportv5/stl/_cwchar.h Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,12 +1,13 @@
1.4 /*
1.5 - * © Portions copyright (c) 2006-2007 Nokia Corporation. All rights reserved.
1.6 + * Portions Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
1.7 + *
1.8 * Copyright (c) 1999
1.9 * Boris Fomitchev
1.10 *
1.11 * This material is provided "as is", with absolutely no warranty expressed
1.12 * or implied. Any use is at your own risk.
1.13 *
1.14 - * Permission to use or copy this software for any purpose is hereby granted
1.15 + * Permission to use or copy this software for any purpose is hereby granted
1.16 * without fee, provided the above notices are retained on all copies.
1.17 * Permission to modify the code and to distribute modified code is granted,
1.18 * provided the above notices are retained, and a notice that the code was
1.19 @@ -14,106 +15,311 @@
1.20 *
1.21 */
1.22
1.23 -#ifndef _STLP_CWCHAR_H
1.24 -# define _STLP_CWCHAR_H
1.25 +#ifndef _STLP_INTERNAL_CWCHAR
1.26 +#define _STLP_INTERNAL_CWCHAR
1.27
1.28 -#ifndef _STLP_NO_WCHAR_T
1.29 -#ifdef __cplusplus
1.30 -# include <cwchar>
1.31 +#if defined (_STLP_WCE_EVC3)
1.32 +# ifndef _STLP_INTERNAL_MBSTATE_T
1.33 +# include <stl/_mbstate_t.h>
1.34 +# endif
1.35 #else
1.36 -# include <wchar.h>
1.37 -#endif
1.38 -#endif
1.39 +# if defined (__GNUC__) && !defined (__SYMBIAN32__)
1.40 +# include _STLP_NATIVE_CPP_C_HEADER(cstddef)
1.41 +# endif
1.42
1.43 -# if defined (__MRC__) || defined (__SC__) || defined (__BORLANDC__) || defined(__FreeBSD__) || (defined (__GNUC__) && defined (__APPLE__) || defined( __Lynx__ )) || defined (_STLP_NO_WCHAR_T)
1.44 +# if !defined (_STLP_NO_CWCHAR) && defined (_STLP_USE_NEW_C_HEADERS)
1.45 +# include _STLP_NATIVE_CPP_C_HEADER(cwchar)
1.46 +# if defined (__OpenBSD__)
1.47 +typedef _BSD_WINT_T_ wint_t;
1.48 +# endif /* __OpenBSD__ */
1.49
1.50 -#ifdef __SYMBIAN32__
1.51 -# include <stddef.h>
1.52 -#else
1.53 -# include _STLP_NATIVE_C_HEADER(stddef.h)
1.54 -#endif
1.55 -# if defined (__FreeBSD__) || defined (__Lynx__)
1.56 -# ifndef _WINT_T
1.57 +# elif defined (_STLP_NO_WCHAR_T) || defined (__MRC__) || (defined (__SC__) && !defined (__DMC__)) || \
1.58 + (defined (__BORLANDC__) && (__BORLANDC__ < 0x580)) || \
1.59 + defined (__OpenBSD__) || defined (__FreeBSD__) || \
1.60 + (defined (__GNUC__) && (defined (__APPLE__) || defined ( __Lynx__ )))
1.61 +# include _STLP_NATIVE_C_HEADER(stddef.h)
1.62 +# if defined (__Lynx__)
1.63 +# ifndef _WINT_T
1.64 typedef long int wint_t;
1.65 -# define _WINT_T
1.66 -# endif /* _WINT_T */
1.67 +# define _WINT_T
1.68 +# endif /* _WINT_T */
1.69 +# endif
1.70 +# if defined(__OpenBSD__)
1.71 +typedef _BSD_WINT_T_ wint_t;
1.72 +# endif /* __OpenBSD__ */
1.73 +# elif defined (__MWERKS__) && defined (N_PLAT_NLM)
1.74 +# include <wchar.h>
1.75 +# else
1.76 +# include _STLP_NATIVE_C_HEADER(wchar.h)
1.77 +
1.78 +# if defined (__sun) && (defined (_XOPEN_SOURCE) || (_XOPEN_VERSION - 0 == 4))
1.79 +extern wint_t btowc();
1.80 +extern int fwprintf();
1.81 +extern int fwscanf();
1.82 +extern int fwide();
1.83 +extern int mbsinit();
1.84 +extern size_t mbrlen();
1.85 +extern size_t mbrtowc();
1.86 +extern size_t mbsrtowcs();
1.87 +extern int swprintf();
1.88 +extern int swscanf();
1.89 +extern int vfwprintf();
1.90 +extern int vwprintf();
1.91 +extern int vswprintf();
1.92 +extern size_t wcrtomb();
1.93 +extern size_t wcsrtombs();
1.94 +extern wchar_t *wcsstr();
1.95 +extern int wctob();
1.96 +extern wchar_t *wmemchr();
1.97 +extern int wmemcmp();
1.98 +extern wchar_t *wmemcpy();
1.99 +extern wchar_t *wmemmove();
1.100 +extern wchar_t *wmemset();
1.101 +extern int wprintf();
1.102 +extern int wscanf();
1.103 +# endif
1.104 # endif
1.105 -# endif
1.106
1.107 -# if defined ( _STLP_OWN_IOSTREAMS ) && defined (_STLP_NO_NATIVE_MBSTATE_T) && ! defined (_STLP_NO_MBSTATE_T) && ! defined (_MBSTATE_T) && ! defined (__mbstate_t_defined)
1.108 -# define _STLP_USE_OWN_MBSTATE_T
1.109 -# define _MBSTATE_T
1.110 -# endif
1.111 +# if defined (__MSL__) && (__MSL__ <= 0x51FF) /* dwa 2/28/99 - not yet implemented by MSL */
1.112 +# define _STLP_WCHAR_MSL_EXCLUDE 1
1.113 +namespace std {
1.114 + extern "C" size_t wcsftime(wchar_t * str, size_t max_size, const wchar_t * format_str, const struct tm * timeptr);
1.115 +}
1.116 +# define _STLP_NO_MBSTATE_T 1
1.117 +# elif defined (__BORLANDC__)
1.118 +# if !defined (_STLP_USE_NO_IOSTREAMS)
1.119 +# define _STLP_NO_NATIVE_MBSTATE_T
1.120 +# endif
1.121 +# define _STLP_WCHAR_BORLAND_EXCLUDE 1
1.122 +# endif
1.123
1.124 -# ifdef _STLP_USE_OWN_MBSTATE_T
1.125 +# ifndef _STLP_INTERNAL_MBSTATE_T
1.126 +# include <stl/_mbstate_t.h>
1.127 +# endif
1.128
1.129 -#ifndef __SYMBIAN32__ //no more using the structure __stl_mbstate_t. usinfg _mb_state_t from _types.h.
1.130 -// to be compatible across different SUN platforms
1.131 -#ifdef __sun
1.132 -# define __stl_mbstate_t __mbstate_t
1.133 -#endif
1.134 +# if !defined (_STLP_NO_WCHAR_T)
1.135 +# ifndef WCHAR_MIN
1.136 +# define WCHAR_MIN 0
1.137 +/* SUNpro has some bugs with casts. wchar_t is size of int there anyway. */
1.138 +# if defined (__SUNPRO_CC) || defined (__DJGPP)
1.139 +# define WCHAR_MAX (~0)
1.140 +# else
1.141 +# define WCHAR_MAX ((wchar_t)~0)
1.142 +# endif
1.143 +# endif
1.144 +# if defined (__GNUC__) && defined (__alpha__)
1.145 +/* Definition of WCHAR_MIN and MAX are wrong for alpha platform
1.146 + * as gcc consider wchar_t as an unsigned type. Static assertion are
1.147 + * here to check that a future alpha SDK or a future gcc won't change the
1.148 + * situation making this workaround useless.
1.149 + */
1.150 +_STLP_STATIC_ASSERT(((wchar_t)-1 > 0) && (WCHAR_MIN < 0))
1.151 +# undef WCHAR_MIN
1.152 +# define WCHAR_MIN 0
1.153 +# undef WCHAR_MAX
1.154 +# define WCHAR_MAX ((wchar_t)~0)
1.155 +# endif
1.156 +# if defined(__HP_aCC) && (__HP_aCC >= 60000)
1.157 +/* Starting with B.11.31, HP-UX/ia64 provides C99-compliant definitions
1.158 + * of WCHAR_MIN/MAX macros without having to define
1.159 + * _INCLUDE_STDC__SOURCE_199901 macro (which aCC compiler does not
1.160 + * predefine). Let STLport provide B.11.31 definitions on any version of
1.161 + * HP-UX/ia64.
1.162 + */
1.163 +# undef WCHAR_MIN
1.164 +# define WCHAR_MIN 0
1.165 +# undef WCHAR_MAX
1.166 +# define WCHAR_MAX UINT_MAX
1.167 +# endif
1.168 +# endif
1.169
1.170 -struct __stl_mbstate_t;
1.171 +# if defined (_STLP_IMPORT_VENDOR_CSTD)
1.172
1.173 -# ifdef __cplusplus
1.174 -struct __stl_mbstate_t {
1.175 - __stl_mbstate_t( long __st = 0 ) { _M_state[0] = __st ; }
1.176 - __stl_mbstate_t& operator=(const long __st) {
1.177 - _M_state[0] = __st;
1.178 - return *this;
1.179 - }
1.180 - __stl_mbstate_t(const __stl_mbstate_t& __x) {_M_state[0]= __x._M_state[0]; }
1.181 - __stl_mbstate_t& operator=(const __stl_mbstate_t& __x) {
1.182 - _M_state[0]= __x._M_state[0];
1.183 - return *this;
1.184 - }
1.185 -# if defined (__sun)
1.186 -# ifdef _LP64
1.187 - long _M_state[4];
1.188 -# else
1.189 - int _M_state[6];
1.190 -# endif
1.191 -# else
1.192 - long _M_state[1];
1.193 -# endif
1.194 -};
1.195 +# if defined (__SUNPRO_CC) && !defined (_STLP_HAS_NO_NEW_C_HEADERS)
1.196 +using _STLP_VENDOR_CSTD::wint_t;
1.197 +# endif
1.198
1.199 -inline bool operator==(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) {
1.200 - return ( __x._M_state[0] == __y._M_state[0] );
1.201 -}
1.202 +_STLP_BEGIN_NAMESPACE
1.203 +# if defined (_STLP_NO_WCHAR_T)
1.204 +typedef int wint_t;
1.205 +# else
1.206 +// gcc 3.0 has a glitch : wint_t only sucked into the global namespace if _GLIBCPP_USE_WCHAR_T is defined
1.207 +// __MWERKS__ has definition in wchar_t.h (MSL C++), but ones differ from definition
1.208 +// in stdio.h; I prefer settings from last file.
1.209 +# if (defined (__GNUC__) && ! defined (_GLIBCPP_USE_WCHAR_T)) // || (defined(__MWERKS__) && defined(N_PLAT_NLM))
1.210 +using ::wint_t;
1.211 +# else
1.212 +using _STLP_VENDOR_CSTD::wint_t;
1.213 +# endif
1.214 +# endif
1.215
1.216 -inline bool operator!=(const __stl_mbstate_t& __x, const __stl_mbstate_t& __y) {
1.217 - return ( __x._M_state[0] == __y._M_state[0] );
1.218 -}
1.219 -# endif
1.220 +using _STLP_VENDOR_CSTD::size_t;
1.221
1.222 +# if !defined (_STLP_NO_NATIVE_MBSTATE_T) && !defined (_STLP_USE_OWN_MBSTATE_T)
1.223 +using _STLP_VENDOR_MB_NAMESPACE::mbstate_t;
1.224
1.225 -#endif //#if __SYMBIAN32__
1.226 -_STLP_BEGIN_NAMESPACE
1.227 -//typedef __mbstate_t __stl_mbstate_t;
1.228 -//typedef __mbstate_t mbstate_t;
1.229 +# if !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) && !defined(_STLP_WCHAR_BORLAND_EXCLUDE) && \
1.230 + (!defined(__MSL__) || __MSL__ > 0x6001)
1.231 +# if defined (__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 3) || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION >= 8))) || \
1.232 + !(defined (__KCC) || defined (__GNUC__)) && !defined(_STLP_WCE_NET) && !(defined(__MWERKS__) && defined(N_PLAT_NLM))
1.233 +using _STLP_VENDOR_MB_NAMESPACE::btowc;
1.234 +# if (!defined(__MSL__) || __MSL__ > 0x7001)
1.235 +using _STLP_VENDOR_MB_NAMESPACE::mbsinit;
1.236 +# endif
1.237 +# endif
1.238 +# if defined (__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 3) || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION >= 8))) || \
1.239 + !defined (__GNUC__) && !defined(_STLP_WCE_NET) && !(defined(__MWERKS__) && defined(N_PLAT_NLM))
1.240 +using _STLP_VENDOR_MB_NAMESPACE::mbrlen;
1.241 +using _STLP_VENDOR_MB_NAMESPACE::mbrtowc;
1.242 +using _STLP_VENDOR_MB_NAMESPACE::mbsrtowcs;
1.243 +using _STLP_VENDOR_MB_NAMESPACE::wcrtomb;
1.244 +using _STLP_VENDOR_MB_NAMESPACE::wcsrtombs;
1.245 +# endif
1.246 +# endif /* BORLAND && !__MSL__ || __MSL__ > 0x6001 */
1.247
1.248 +# endif /* _STLP_NO_NATIVE_MBSTATE_T */
1.249 +
1.250 +# if !defined (_STLP_NO_NATIVE_WIDE_FUNCTIONS) && ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS)
1.251 +
1.252 +# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) && ! defined (_STLP_NO_CSTD_FUNCTION_IMPORTS) && !(defined(__MWERKS__) && defined(N_PLAT_NLM))
1.253 +using _STLP_VENDOR_CSTD::fgetwc;
1.254 +using _STLP_VENDOR_CSTD::fgetws;
1.255 +using _STLP_VENDOR_CSTD::fputwc;
1.256 +using _STLP_VENDOR_CSTD::fputws;
1.257 +# endif
1.258 +
1.259 +# if !(defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined (_STLP_WCHAR_BORLAND_EXCLUDE) || \
1.260 + defined(_STLP_WCHAR_HPACC_EXCLUDE) || (defined(__MWERKS__) && defined(N_PLAT_NLM)))
1.261 +# if !defined (__DECCXX)
1.262 +using _STLP_VENDOR_CSTD::fwide;
1.263 +# endif
1.264 +using _STLP_VENDOR_CSTD::fwprintf;
1.265 +using _STLP_VENDOR_CSTD::fwscanf;
1.266 +using _STLP_VENDOR_CSTD::getwchar;
1.267 +# endif
1.268 +
1.269 +# if !defined(_STLP_WCHAR_BORLAND_EXCLUDE) && !(defined(__MWERKS__) && defined(N_PLAT_NLM))
1.270 +# ifndef _STLP_WCE_NET
1.271 +using _STLP_VENDOR_CSTD::getwc;
1.272 +# endif
1.273 +using _STLP_VENDOR_CSTD::ungetwc;
1.274 +# ifndef _STLP_WCE_NET
1.275 +using _STLP_VENDOR_CSTD::putwc;
1.276 +# endif
1.277 +using _STLP_VENDOR_CSTD::putwchar;
1.278 +# endif
1.279 +
1.280 +# if !(defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined (_STLP_WCHAR_BORLAND_EXCLUDE) || \
1.281 + defined (_STLP_WCHAR_HPACC_EXCLUDE) || (defined (__MWERKS__) && defined (N_PLAT_NLM)))
1.282 +# if defined (_STLP_MSVC_LIB) && (_STLP_MSVC_LIB <= 1300) || \
1.283 + (defined (__MINGW32__) && !(defined (__SYMBIAN32__) && defined (__GCCXML__)))
1.284 +# undef swprintf
1.285 +# define swprintf _snwprintf
1.286 +# undef vswprintf
1.287 +# define vswprintf _vsnwprintf
1.288 +using ::swprintf;
1.289 +using ::vswprintf;
1.290 +# else
1.291 +using _STLP_VENDOR_CSTD::swprintf;
1.292 +using _STLP_VENDOR_CSTD::vswprintf;
1.293 +# endif
1.294 +using _STLP_VENDOR_CSTD::swscanf;
1.295 +using _STLP_VENDOR_CSTD::vfwprintf;
1.296 +using _STLP_VENDOR_CSTD::vwprintf;
1.297 +
1.298 +# if (!defined(__MSL__) || __MSL__ > 0x7001 ) && !defined(_STLP_WCE_NET) && \
1.299 + !defined(_STLP_USE_UCLIBC) /* at least in uClibc 0.9.26 */
1.300 +
1.301 +using _STLP_VENDOR_CSTD::wcsftime;
1.302 +# endif
1.303 +using _STLP_VENDOR_CSTD::wcstok;
1.304 +
1.305 +# endif
1.306 +
1.307 +# if !(defined(__MWERKS__) && defined(N_PLAT_NLM))
1.308 +# if !defined (_STLP_WCE_NET)
1.309 +using _STLP_VENDOR_CSTD::wcscoll;
1.310 +using _STLP_VENDOR_CSTD::wcsxfrm;
1.311 +# endif
1.312 +using _STLP_VENDOR_CSTD::wcscat;
1.313 +using _STLP_VENDOR_CSTD::wcsrchr;
1.314 +using _STLP_VENDOR_CSTD::wcscmp;
1.315 +
1.316 +using _STLP_VENDOR_CSTD::wcscpy;
1.317 +using _STLP_VENDOR_CSTD::wcscspn;
1.318 +
1.319 +using _STLP_VENDOR_CSTD::wcslen;
1.320 +using _STLP_VENDOR_CSTD::wcsncat;
1.321 +using _STLP_VENDOR_CSTD::wcsncmp;
1.322 +using _STLP_VENDOR_CSTD::wcsncpy;
1.323 +using _STLP_VENDOR_CSTD::wcspbrk;
1.324 +using _STLP_VENDOR_CSTD::wcschr;
1.325 +
1.326 +using _STLP_VENDOR_CSTD::wcsspn;
1.327 +# endif
1.328 +
1.329 +# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE) && !(defined(__MWERKS__) && defined(N_PLAT_NLM))
1.330 +using _STLP_VENDOR_CSTD::wcstod;
1.331 +using _STLP_VENDOR_CSTD::wcstol;
1.332 +# endif
1.333 +
1.334 +# if !(defined (_STLP_WCHAR_SUNPRO_EXCLUDE) || defined (_STLP_WCHAR_HPACC_EXCLUDE) || \
1.335 + (defined (__MWERKS__) && defined (N_PLAT_NLM)))
1.336 +using _STLP_VENDOR_CSTD::wcsstr;
1.337 +using _STLP_VENDOR_CSTD::wmemchr;
1.338 +
1.339 +# if !defined (_STLP_WCHAR_BORLAND_EXCLUDE)
1.340 +# if !defined (_STLP_WCE_NET)
1.341 +using _STLP_VENDOR_CSTD::wctob;
1.342 +# endif
1.343 +# if !defined (__DMC__)
1.344 +using _STLP_VENDOR_CSTD::wmemcmp;
1.345 +using _STLP_VENDOR_CSTD::wmemmove;
1.346 +# endif
1.347 +using _STLP_VENDOR_CSTD::wprintf;
1.348 +using _STLP_VENDOR_CSTD::wscanf;
1.349 +# endif
1.350 +
1.351 +# if defined (__BORLANDC__)
1.352 +inline wchar_t* _STLP_wmemcpy(wchar_t* __wdst, const wchar_t* __wsrc, size_t __n)
1.353 +{ return __STATIC_CAST(wchar_t*, _STLP_VENDOR_CSTD::wmemcpy(__wdst, __wsrc, __n)); }
1.354 +inline wchar_t* _STLP_wmemset(wchar_t* __wdst, wchar_t __wc, size_t __n)
1.355 +{ return __STATIC_CAST(wchar_t*, _STLP_VENDOR_CSTD::memset(__wdst, __wc, __n)); }
1.356 +# undef wmemcpy
1.357 +# undef wmemset
1.358 +inline wchar_t* wmemcpy(wchar_t* __wdst, const wchar_t* __wsrc, size_t __n)
1.359 +{ return _STLP_wmemcpy(__wdst, __wsrc, __n); }
1.360 +inline wchar_t* wmemset(wchar_t* __wdst, wchar_t __wc, size_t __n)
1.361 +{ return _STLP_wmemset(__wdst, __wc, __n); }
1.362 +# elif defined (__DMC__)
1.363 +inline wchar_t* wmemcpy(wchar_t* __RESTRICT __wdst, const wchar_t* __RESTRICT __wsrc, size_t __n)
1.364 +{ return __STATIC_CAST(wchar_t*, memcpy(__wdst, __wsrc, __n * sizeof(wchar_t))); }
1.365 +inline wchar_t* wmemmove(wchar_t* __RESTRICT __wdst, const wchar_t * __RESTRICT __wc, size_t __n)
1.366 +{ return __STATIC_CAST(wchar_t*, memmove(__wdst, __wc, __n * sizeof(wchar_t))); }
1.367 +inline wchar_t* wmemset(wchar_t* __wdst, wchar_t __wc, size_t __n)
1.368 +{ for (size_t i = 0; i < __n; i++) __wdst[i] = __wc; return __wdst; }
1.369 +# else
1.370 +using _STLP_VENDOR_CSTD::wmemcpy;
1.371 +using _STLP_VENDOR_CSTD::wmemset;
1.372 +# endif
1.373 +# endif
1.374 +
1.375 +# elif defined (__MWERKS__) && defined (N_PLAT_NLM) /* _STLP_NO_NATIVE_WIDE_FUNCTIONS */
1.376 +using _STLP_VENDOR_CSTD::wcslen;
1.377 +using _STLP_VENDOR_CSTD::wcscmp;
1.378 +using _STLP_VENDOR_CSTD::wcscpy;
1.379 +using _STLP_VENDOR_CSTD::wcsstr;
1.380 +using _STLP_VENDOR_CSTD::wcschr;
1.381 +using _STLP_VENDOR_CSTD::wcsrchr;
1.382 +using _STLP_VENDOR_CSTD::wcspbrk;
1.383 +# endif /* _STLP_NO_NATIVE_WIDE_FUNCTIONS */
1.384 _STLP_END_NAMESPACE
1.385
1.386 -# endif /* _STLP_USE_OWN_MBSTATE_T */
1.387 +# endif /* _STLP_IMPORT_VENDOR_CSTD */
1.388
1.389 -#if !defined (_STLP_NO_WCHAR_T)
1.390 -# ifndef WCHAR_MIN
1.391 -# define WCHAR_MIN 0
1.392 -// SUNpro has some bugs with casts. wchar_t is size of int there anyway.
1.393 -# if defined (__SUNPRO_CC) || defined (__DJGPP)
1.394 -# define WCHAR_MAX (~0)
1.395 -# else
1.396 -# define WCHAR_MAX ((wchar_t)~0)
1.397 -# endif
1.398 -# endif
1.399 -#endif
1.400 +# undef _STLP_WCHAR_SUNPRO_EXCLUDE
1.401 +# undef _STLP_WCHAR_MSL_EXCLUDE
1.402
1.403 -# if defined (_STLP_IMPORT_VENDOR_CSTD) && ! defined (_STLP_VENDOR_GLOBAL_CSTD)
1.404 -_STLP_BEGIN_NAMESPACE
1.405 -using namespace _STLP_VENDOR_CSTD;
1.406 -_STLP_END_NAMESPACE
1.407 -#endif /* _STLP_IMPORT_VENDOR_CSTD */
1.408 +# endif /* !defined(_STLP_WCE_EVC3) */
1.409
1.410 -#endif /* _STLP_CWCHAR_H */
1.411 -
1.412 +#endif /* _STLP_INTERNAL_CWCHAR */