#ifndef _WX_WXCHAR_H_
#define _WX_WXCHAR_H_
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "wxchar.h"
#endif
+#include "wx/defs.h" // for wxUSE_UNICODE
+
// ----------------------------------------------------------------------------
-// first deal with Unicode setting: wxUSE_UNICODE should be defined as 0 or 1
-// and is used by wxWindows, _UNICODE and/or UNICODE may be defined or used by
-// the system headers so bring these settings in sync
+// check whether we have wchar_t and which size it is if we do
// ----------------------------------------------------------------------------
-// set wxUSE_UNICODE to 1 if UNICODE or _UNICODE is defined
-#if defined(_UNICODE) || defined(UNICODE)
- #undef wxUSE_UNICODE
- #define wxUSE_UNICODE 1
-#else
- #ifndef wxUSE_UNICODE
- #define wxUSE_UNICODE 0
- #endif
-#endif // Unicode
-
-// and vice versa: define UNICODE and _UNICODE if wxUSE_UNICODE is 1...
-#if wxUSE_UNICODE
- #ifndef _UNICODE
- #define _UNICODE
- #endif
- #ifndef UNICODE
- #define UNICODE
- #endif
-#endif // Unicode
-
-// check whether we have wchar_t
#if !defined(wxUSE_WCHAR_T)
#if defined(__WIN16__)
// no wchar_t under Win16 regadrless of compiler used
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)
#define wxHAVE_TCHAR_SUPPORT
#include <ctype.h>
+#elif defined(__WATCOMC__)
+ #define wxHAVE_TCHAR_SUPPORT
#elif defined(__MINGW32__) && wxCHECK_W32API_VERSION( 1, 0 )
#define wxHAVE_TCHAR_SUPPORT
#include <stddef.h>
#define wxRemove wxMSLU__tremove
#define wxRename wxMSLU__trename
#else
- #define wxRemove _tremove
- #define wxRename _trename
+ #ifdef __WXWINCE__
+ #define wxRemove DeleteFile
+ #else
+ #define wxRemove _tremove
+ #define wxRename _trename
+ #endif
#endif
// stdlib.h functions
// time.h functions
#define wxAsctime wasciitime
#define wxCtime wctime
- #define wxStrftime wcsftime
+ // #define wxStrftime wcsftime
/*
#define wxNEED_FPUTWC
// use our own versions
#define wxNEED_WX_STDIO_H
#define wxNEED_WX_STDLIB_H
- #define wxNEED_WX_TIME_H
*/
+ #define wxNEED_WX_TIME_H
#else // !metrowerks for apple
#error "Please define wide character functions for your environment"
#endif
// stdio.h functions
#define wxFopen fopen
#define wxFreopen freopen
- #define wxPerror perror
#define wxRemove remove
#define wxRename rename
+
+ #define wxPerror perror
#define wxTmpnam tmpnam
#define wxFgetc fgetc
#define wxFgetchar fgetchar
#define wxFgets fgets
#define wxFputc fputc
+ #define wxFputs fputs
#define wxFputchar fputchar
#define wxFprintf fprintf
#define wxFscanf fscanf
const wxChar *fmt, const struct tm *tm);
#endif // wxNEED_WX_TIME_H
+// missing functions in WinCE
+#ifdef __WXWINCE__
+WXDLLIMPEXP_BASE char* strdup(const char* s);
+WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
+
+#if _WIN32_WCE <= 211
+WXDLLIMPEXP_BASE int isspace(int c);
+WXDLLIMPEXP_BASE int isascii( int c );
+#endif
+#endif
+
// ----------------------------------------------------------------------------
// multibyte to wide char conversion functions and macros
// ----------------------------------------------------------------------------