X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec0d6da38d2cf84d69d5bb2d49effb13ed169c64..d9b4ddf28fbf20fe28d20c72b37c85a8e2db686e:/include/wx/wxchar.h diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index 88ea300646..c6665ef5e5 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -147,6 +147,10 @@ #define wxHAVE_TCHAR_SUPPORT #endif // compilers with (good) TCHAR support +#ifdef __MWERKS__ + #define HAVE_WPRINTF +#endif + #ifdef wxHAVE_TCHAR_SUPPORT // get TCHAR definition if we've got it #include @@ -434,7 +438,94 @@ #define wxNEED_WX_STDIO_H #define wxNEED_WX_STDLIB_H #define wxNEED_WX_TIME_H - #else // !glibc + #elif defined(__MWERKS__) && ( defined(macintosh) || defined(__MACH__) ) + // ctype.h functions (wctype.h) + #define wxIsalnum iswalnum + #define wxIsalpha iswalpha + #define wxIsctrl iswcntrl + #define wxIsdigit iswdigit + #define wxIsgraph iswgraph + #define wxIslower iswlower + #define wxIsprint iswprint + #define wxIspunct iswpunct + #define wxIsspace iswspace + #define wxIsupper iswupper + #define wxIsxdigit iswxdigit + #define wxTolower towlower + #define wxToupper towupper + + // string.h functions (wchar.h) + #define wxStrcat wcscat + #define wxStrchr wcschr + #define wxStrcmp wcscmp + #define wxStrcoll wcscoll + #define wxStrcpy wcscpy + #define wxStrcspn wcscspn + #define wxStrlen_ wxWcslen // wxStrlen_() is used in wxStrlen() + #define wxStrncat wcsncat + #define wxStrncmp wcsncmp + #define wxStrncpy wcsncpy + #define wxStrpbrk wcspbrk + #define wxStrrchr wcsrchr + #define wxStrspn wcsspn + #define wxStrstr wcsstr + #define wxStrtod wcstod + #define wxStrtol wcstol + #define wxStrtoul wcstoul + #define wxStrxfrm wcsxfrm + + #define wxFgetc fgetwc + #define wxFgetchar fgetwchar + #define wxFgets fgetws + #define wxFputc fputwc + #define wxFputchar fputwchar + #define wxGetc getwc + #define wxGetchar getwchar + #define wxGets getws + #define wxUngetc ungetwc + + #define wxNEED_PRINTF_CONVERSION + + #define wxPutc putwc + #define wxPutchar putwchar + #define wxFputs fputws + + // stdio.h functions + + #define wxNEED_WX_STDIO_H + + // stdlib.h functions + #define wxAtof watof + #define wxAtoi watoi + #define wxAtol watol + #define wxGetenv(a) ((wxChar*)NULL) + #define wxSystem(a) ((int)NULL) + + // time.h functions + #define wxAsctime wasciitime + #define wxCtime wctime + #define wxStrftime wcsftime + + /* + #define wxNEED_FPUTWC + + #include + + int wxFputs(const wxChar *ch, FILE *stream); + int wxPutc(wxChar ch, FILE *stream); + + #define wxPuts(ws) wxFputs(ws, stdout) + #define wxPutchar(wch) wxPutc(wch, stdout) + + // we need %s to %ls conversion for printf and scanf etc + #define wxNEED_PRINTF_CONVERSION + // glibc doesn't have wide char equivalents of the other stuff so + // use our own versions + #define wxNEED_WX_STDIO_H + #define wxNEED_WX_STDLIB_H + #define wxNEED_WX_TIME_H + */ + #else // !metrowerks for apple #error "Please define wide character functions for your environment" #endif #else // ASCII @@ -542,7 +633,7 @@ defined(__EMX__) || defined(__DJGPP__) #define wxStricmp stricmp #define wxStrnicmp strnicmp - #elif defined(__SC__) || defined(__VISUALC__) || \ + #elif defined(__SYMANTEC__) || defined(__VISUALC__) || \ (defined(__MWERKS__) && defined(__INTEL__)) #define wxStricmp _stricmp #define wxStrnicmp _strnicmp @@ -598,7 +689,7 @@ WXDLLEXPORT bool wxOKlibc(); // for internal use For some systems vsnprintf() exists in the system libraries but not in the headers, so we need to declare it ourselves to be able to use it. */ -#ifndef HAVE_VSNPRINTF_DECL +#if defined(HAVE_VSNPRINTF) && !defined(HAVE_VSNPRINTF_DECL) extern "C" int vsnprintf(char *str, size_t size, const char *format, va_list ap); #endif // !HAVE_VSNPRINTF_DECL @@ -614,6 +705,10 @@ WXDLLEXPORT bool wxOKlibc(); // for internal use */ #ifndef wxVsnprintf_ #if wxUSE_UNICODE + #if defined(__MWERKS__) + #define HAVE_WCSRTOMBS 1 + #define HAVE_VSWPRINTF 1 + #endif #if defined(HAVE__VSNWPRINTF) #define wxVsnprintf_ _vsnwprintf /* MinGW?MSVCRT has the wrong vswprintf */ @@ -813,6 +908,9 @@ WXDLLEXPORT int wxSystem(const wxChar *psz); // time.h functions #ifdef wxNEED_WX_TIME_H +#if defined(__MWERKS__) && defined(macintosh) + #include +#endif WXDLLEXPORT size_t wxStrftime(wxChar *s, size_t max, const wxChar *fmt, const struct tm *tm); #endif // wxNEED_WX_TIME_H