* Created: 1998/06/12
* RCS-ID: $Id$
* Copyright: (c) 1998-2002 wxWidgets dev team
- * Licence: wxWidgets licence
+ * Licence: wxWindows licence
*/
/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
#endif
#endif
#if defined(__MWERKS__) && !defined(__MACH__)
- #ifndef HAVE_WCSLEN
- #define HAVE_WCSLEN
- #endif
+ #ifndef HAVE_WCSLEN
+ #define HAVE_WCSLEN
+ #endif
#endif
#if wxUSE_WCHAR_T
#define wxIsspace _istspace
#define wxIsupper _istupper
#define wxIsxdigit _istxdigit
- #define wxTolower _totlower
- #define wxToupper _totupper
+
+ /*
+ There is a bug in VC6 C RTL: toxxx() functions dosn't do anything with
+ signed chars < 0, so "fix" it here.
+ */
+ #define wxTolower(c) _totlower((wxUChar)(c))
+ #define wxToupper(c) _totupper((wxUChar)(c))
/* locale.h functons */
#define wxSetlocale _tsetlocale
#define wxGets getws
#define wxUngetc ungetwc
- #ifdef HAVE_FPUTWC
- #define wxPutc wputc
- #define wxPutchar wputchar
- #define wxPuts putws
- #define wxFputs fputws
+ #ifdef HAVE_FPUTWS
+ #define wxFputs fputws
#else
- #define wxNEED_FPUTWC
-
+ #define wxNEED_FPUTS
#include <stdio.h>
-
int wxFputs(const wxChar *ch, FILE *stream);
+ #endif
+
+ #ifdef HAVE_WPUTC
+ #define wxPutc wputc
+ #else
+ #define wxNEED_PUTC
+ #include <stdio.h>
int wxPutc(wxChar ch, FILE *stream);
+ #endif
- #define wxPuts(ws) wxFputs(ws, stdout)
+ #ifdef HAVE_WPUTCHAR
+ #define wxPutchar wputchar
+ #else
#define wxPutchar(wch) wxPutc(wch, stdout)
#endif
+ #ifdef HAVE_PUTWS
+ #define wxPuts putws
+ #else
+ #define wxPuts(ws) wxFputs(ws, stdout)
+ #endif
+
/* we need %s to %ls conversion for printf and scanf etc */
#define wxNEED_PRINTF_CONVERSION
#ifdef HAVE_WCSLEN
#define wxWcslen wcslen
#else
- #if defined( __WXMAC_XCODE__ ) && !defined( __cplusplus )
- /* xcode native targets are giving multiply defined symbols on regex */
- static
- #endif
+ #if defined( __WXMAC_XCODE__ ) && !defined( __cplusplus )
+ /* xcode native targets are giving multiply defined symbols on regex */
+ static
+ #endif
inline size_t wxWcslen(const wchar_t *s)
{
size_t n = 0;