]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxchar.h
Trying hard to make things compile.
[wxWidgets.git] / include / wx / wxchar.h
index 342469a9707beec028125a5093f1ad454f4e89b2..1ee5b6194ac1c161f79ae5738375b5a6bf2b0355 100644 (file)
@@ -6,7 +6,7 @@
  * 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 */
@@ -74,9 +74,9 @@
     #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;