]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxchar.h
As small as possible reorganization within wxDateTime to please PCH in DLL build...
[wxWidgets.git] / include / wx / wxchar.h
index 6888208fec750167d57291a8ef871b3e0e8da76d..32b9a24d1d6e5c181241f1a58e52ebaed78c4c1e 100644 (file)
     #define wxHAVE_TCHAR_SUPPORT
 #elif defined(__DMC__)
     #define wxHAVE_TCHAR_SUPPORT
-#elif defined(__MINGW32__) && wxCHECK_W32API_VERSION( 1, 0 ) && !defined(__PALMOS__)
+#elif defined(__MINGW32__) && wxCHECK_W32API_VERSION( 1, 0 ) && !defined(__WXPALMOS__)
     #define wxHAVE_TCHAR_SUPPORT
     #include <stddef.h>
     #include <string.h>
     #else
       #define WXWCHAR_T_CAST(c) c
     #endif
-    
+
     /* ctype.h functions */
     #define  wxIsalnum(c)   _istalnum(WXWCHAR_T_CAST(c))
     #define  wxIsalpha(c)   _istalpha(WXWCHAR_T_CAST(c))
     #define  wxFgetc     _fgettc
     #define  wxFgetchar  _fgettchar
     #define  wxFgets     _fgetts
-    #define  wxFopen     _tfopen
+    #if wxUSE_UNICODE_MSLU
+        #define  wxFopen    wxMSLU__tfopen
+    #else
+        #define  wxFopen     _tfopen
+    #endif
     #define  wxFputc     _fputtc
     #define  wxFputchar  _fputtchar
     #define  wxFprintf   _ftprintf
 #else /* !TCHAR-aware compilers */
 
     #if !defined(__MWERKS__) && defined(__DARWIN__) && ( MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_2 )
-        /* even though they are defined and "implemented", they are bad and just 
+        /* even though they are defined and "implemented", they are bad and just
            stubs so we need our own - we need these even in ANSI builds!! */
         #define mbstowcs wxInternalMbstowcs
         #define wcstombs wxInternalWcstombs
-        
+
         WXDLLIMPEXP_BASE size_t wxInternalMbstowcs (wchar_t *, const char *, size_t);
-        WXDLLIMPEXP_BASE size_t        wxInternalWcstombs (char *, const wchar_t *, size_t);
+        WXDLLIMPEXP_BASE size_t wxInternalWcstombs (char *, const wchar_t *, size_t);
     #endif
-    
+
     /* No UNICODE in the c library except wchar_t typedef on mac OSX 10.2 and less - roll our own */
     #if !defined(__MWERKS__) && wxUSE_UNICODE && defined(__DARWIN__) && ( MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_2 )
-        
+
         /* we need everything! */
         #define wxNEED_WX_STRING_H
         #define wxNEED_WX_CTYPE_H
-        
+
         #define  wxFgetchar(c)  wxFgetc(c, stdin)
         #define  wxFputc     wxPutc
         #define  wxFputchar(c)  wxPutc(c, stdout)
         #define wxNEED_FPUTS
         #define wxNEED_PUTS
         #define wxNEED_PUTC
+
         int wxFputs(const wxChar *ch, FILE *stream);
         int wxPuts(const wxChar *ws);
         int wxPutc(wxChar ch, FILE *stream);
-        
+
         #ifdef __cplusplus
         extern "C" {
         #endif
         #endif
 
         #define wxPutchar(wch) wxPutc(wch, stdout)
-            
+
         #define wxNEED_PRINTF_CONVERSION
         #define wxNEED_WX_STDIO_H
         #define wxNEED_WX_STDLIB_H
         #define wxNEED_WX_TIME_H
-                
+
     #elif wxUSE_UNICODE
         #include <wctype.h>
 
             defined(__EMX__) || defined(__DJGPP__)
         #define wxStricmp stricmp
         #define wxStrnicmp strnicmp
-    #elif defined(__PALMOS__)
-        /* FIXME: There is no equivalent to strnicmp in the Palm OS API.  This 
-         * quick hack should do until one can be written. 
+    #elif defined(__WXPALMOS__)
+        /* FIXME: There is no equivalent to strnicmp in the Palm OS API.  This
+         * quick hack should do until one can be written.
          */
         #define wxStricmp StrCaselessCompare
-        #define wxStrnicmp strnicmp       
+        #define wxStrnicmp strnicmp
     #elif defined(__SYMANTEC__) || defined(__VISUALC__) || \
             (defined(__MWERKS__) && defined(__INTEL__))
         #define wxStricmp _stricmp
@@ -944,14 +948,14 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */
     WXDLLIMPEXP_BASE char *strdup(const char* s);
 #endif
 
-/* RN: Used only under OSX <= 10.2 currently 
+/* RN: Used only under OSX <= 10.2 currently
    The __cplusplus ifdefs are messy, but they are required to build
    the regex library, since c does not support function overloading
 */
 #ifdef wxNEED_WX_STRING_H
-#      ifdef __cplusplus
+# ifdef __cplusplus
     extern "C" {
-#      endif
+# endif
         WXDLLIMPEXP_BASE wxChar * wxStrcat(wxChar *dest, const wxChar *src);
         WXDLLIMPEXP_BASE const wxChar * wxStrchr(const wxChar *s, wxChar c);
         WXDLLIMPEXP_BASE int      wxStrcmp(const wxChar *s1, const wxChar *s2);
@@ -965,9 +969,9 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */
         WXDLLIMPEXP_BASE const wxChar * wxStrrchr(const wxChar *s, wxChar c);
         WXDLLIMPEXP_BASE size_t   wxStrspn(const wxChar *s, const wxChar *accept);
         WXDLLIMPEXP_BASE const wxChar * wxStrstr(const wxChar *haystack, const wxChar *needle);
-#      ifdef __cplusplus       
+# ifdef __cplusplus
     }
-#      endif
+# endif
 
     /* These functions use C++, so we can't c extern them */
     WXDLLIMPEXP_BASE double   wxStrtod(const wxChar *nptr, wxChar **endptr);
@@ -1095,27 +1099,27 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
     #define wxWX2WC wxMB2WC
 #endif
 
-//
-// RN:  The following are not normal versions of memcpy et al., rather
-// these are either char or widechar versions depending on 
-// if unicode is used or not.
-//
+/*
+    RN:  The following are not normal versions of memcpy et al., rather
+    these are either char or widechar versions depending on
+    if unicode is used or not.
+*/
 
 #ifdef __cplusplus
 
     //
-    // RN: We could do the usual tricky compiler detection here,
+    //  RN: We could do the usual tricky compiler detection here,
     //  and use their variant (such as wmemchr, etc.).  The problem
-    //  is that these functions are quite rare, even though they are 
+    //  is that these functions are quite rare, even though they are
     //  part of the current POSIX standard.  In addition, most compilers
     //  (including even MSC) inline them just like we do right in their
     //  headers.
     //
     #if wxUSE_UNICODE
         #include <string.h> //for mem funcs
-        
+
         //implement our own wmem variants
-        inline wxChar* wxMemchr(const wxChar* s, wxChar c, size_t l)
+        inline wxChar* wxTmemchr(const wxChar* s, wxChar c, size_t l)
         {
             for(;l && *s != c;--l, ++s) {}
 
@@ -1124,7 +1128,7 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
             return NULL;
         }
 
-        inline int wxMemcmp(const wxChar* sz1, const wxChar* sz2, size_t len)
+        inline int wxTmemcmp(const wxChar* sz1, const wxChar* sz2, size_t len)
         {
             for(; *sz1 == *sz2 && len; --len, ++sz1, ++sz2) {}
 
@@ -1134,17 +1138,17 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
                 return 0;
         }
 
-        inline wxChar* wxMemcpy(wxChar* szOut, const wxChar* szIn, size_t len)
+        inline wxChar* wxTmemcpy(wxChar* szOut, const wxChar* szIn, size_t len)
         {
             return (wxChar*) memcpy(szOut, szIn, len * sizeof(wxChar));
         }
 
-        inline wxChar* wxMemmove(wxChar* szOut, const wxChar* szIn, size_t len)
+        inline wxChar* wxTmemmove(wxChar* szOut, const wxChar* szIn, size_t len)
         {
             return (wxChar*) memmove(szOut, szIn, len * sizeof(wxChar));
         }
 
-        inline wxChar* wxMemset(wxChar* szOut, const wxChar cIn, size_t len)
+        inline wxChar* wxTmemset(wxChar* szOut, const wxChar cIn, size_t len)
         {
             wxChar* szRet = szOut;
 
@@ -1155,11 +1159,11 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
         }
 
     #else //!wxUSE_UNICODE
-    #   define wxMemchr memchr
-    #   define wxMemcmp memcmp
-    #   define wxMemcpy memcpy
-    #   define wxMemmove memmove
-    #   define wxMemset memset
+    #   define wxTmemchr memchr
+    #   define wxTmemcmp memcmp
+    #   define wxTmemcpy memcpy
+    #   define wxTmemmove memmove
+    #   define wxTmemset memset
     #endif
 
 #endif /*__cplusplus*/