X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a9c20b016d88b85db8a1f564a2249057db0ca77..8c985698885689f9e60b0d03f469e3a566fc7410:/include/wx/wxchar.h?ds=sidebyside diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index 0b3a697e50..0d2fc9ad70 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -118,7 +118,7 @@ #define wxHAVE_TCHAR_SUPPORT #elif defined(__DMC__) #define wxHAVE_TCHAR_SUPPORT -#elif defined(__MINGW32__) && wxCHECK_W32API_VERSION( 1, 0 ) +#elif defined(__MINGW32__) && wxCHECK_W32API_VERSION( 1, 0 ) && !defined(__PALMOS__) #define wxHAVE_TCHAR_SUPPORT #include #include @@ -393,15 +393,22 @@ #define wxNEED_UNGETC #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); - - WXDLLIMPEXP_BASE size_t wxStrlen_(const wxChar *s); + + #ifdef __cplusplus + extern "C" { + #endif + WXDLLIMPEXP_BASE size_t wxStrlen_(const wxChar *s); + #ifdef __cplusplus + } + #endif #define wxPutchar(wch) wxPutc(wch, stdout) - #define wxPuts(ws) wxFputs(ws, stdout) #define wxNEED_PRINTF_CONVERSION #define wxNEED_WX_STDIO_H @@ -492,7 +499,8 @@ #ifdef HAVE_PUTWS #define wxPuts putws #else - #define wxPuts(ws) wxFputs(ws, stdout) + #define wxNEED_PUTS + int wxPuts(const wxChar *ws); #endif /* we need %s to %ls conversion for printf and scanf etc */ @@ -685,6 +693,12 @@ 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. + */ + #define wxStricmp StrCaselessCompare + #define wxStrnicmp strnicmp #elif defined(__SYMANTEC__) || defined(__VISUALC__) || \ (defined(__MWERKS__) && defined(__INTEL__)) #define wxStricmp _stricmp @@ -703,18 +717,7 @@ #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 - inline size_t wxWcslen(const wchar_t *s) - { - size_t n = 0; - while ( *s++ ) - n++; - - return n; - } + WXDLLIMPEXP_BASE size_t wxWcslen(const wchar_t *s); #endif #endif /* wxUSE_WCHAR_T */ @@ -935,33 +938,49 @@ 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 - WXDLLIMPEXP_BASE wxChar * wxStrcat(wxChar *dest, const wxChar *src); - WXDLLIMPEXP_BASE const wxChar * wxStrchr(const wxChar *s, wxChar c); - inline wxChar * wxStrchr(wxChar *s, wxChar c) - { return (wxChar *)wxStrchr((const wxChar *)s, c); } - WXDLLIMPEXP_BASE int wxStrcmp(const wxChar *s1, const wxChar *s2); - WXDLLIMPEXP_BASE int wxStrcoll(const wxChar *s1, const wxChar *s2); - WXDLLIMPEXP_BASE wxChar * wxStrcpy(wxChar *dest, const wxChar *src); - WXDLLIMPEXP_BASE size_t wxStrcspn(const wxChar *s, const wxChar *reject); - WXDLLIMPEXP_BASE wxChar * wxStrncat(wxChar *dest, const wxChar *src, size_t n); - WXDLLIMPEXP_BASE int wxStrncmp(const wxChar *s1, const wxChar *s2, size_t n); - WXDLLIMPEXP_BASE wxChar * wxStrncpy(wxChar *dest, const wxChar *src, size_t n); - WXDLLIMPEXP_BASE const wxChar * wxStrpbrk(const wxChar *s, const wxChar *accept); - inline wxChar * wxStrpbrk(wxChar *s, const wxChar *accept) - { return (wxChar *)wxStrpbrk((const wxChar *)s, accept); } - WXDLLIMPEXP_BASE const wxChar * wxStrrchr(const wxChar *s, wxChar c); - inline wxChar * wxStrrchr(wxChar *s, wxChar c) - { return (wxChar *)wxStrrchr((const wxChar *)s, c); } - WXDLLIMPEXP_BASE size_t wxStrspn(const wxChar *s, const wxChar *accept); - WXDLLIMPEXP_BASE const wxChar * wxStrstr(const wxChar *haystack, const wxChar *needle); - inline wxChar *wxStrstr(wxChar *haystack, const wxChar *needle) - { return (wxChar *)wxStrstr((const wxChar *)haystack, needle); } +# ifdef __cplusplus + extern "C" { +# 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); + WXDLLIMPEXP_BASE int wxStrcoll(const wxChar *s1, const wxChar *s2); + WXDLLIMPEXP_BASE wxChar * wxStrcpy(wxChar *dest, const wxChar *src); + WXDLLIMPEXP_BASE size_t wxStrcspn(const wxChar *s, const wxChar *reject); + WXDLLIMPEXP_BASE wxChar * wxStrncat(wxChar *dest, const wxChar *src, size_t n); + WXDLLIMPEXP_BASE int wxStrncmp(const wxChar *s1, const wxChar *s2, size_t n); + WXDLLIMPEXP_BASE wxChar * wxStrncpy(wxChar *dest, const wxChar *src, size_t n); + WXDLLIMPEXP_BASE const wxChar * wxStrpbrk(const wxChar *s, const wxChar *accept); + 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 + } +# endif + + /* These functions use C++, so we can't c extern them */ WXDLLIMPEXP_BASE double wxStrtod(const wxChar *nptr, wxChar **endptr); WXDLLIMPEXP_BASE long int wxStrtol(const wxChar *nptr, wxChar **endptr, int base); WXDLLIMPEXP_BASE unsigned long int wxStrtoul(const wxChar *nptr, wxChar **endptr, int base); WXDLLIMPEXP_BASE size_t wxStrxfrm(wxChar *dest, const wxChar *src, size_t n); + + /* inlined versions */ + #ifdef __cplusplus + inline wxChar * wxStrchr(wxChar *s, wxChar c) + { return (wxChar *)wxStrchr((const wxChar *)s, c); } + inline wxChar * wxStrpbrk(wxChar *s, const wxChar *accept) + { return (wxChar *)wxStrpbrk((const wxChar *)s, accept); } + inline wxChar * wxStrrchr(wxChar *s, wxChar c) + { return (wxChar *)wxStrrchr((const wxChar *)s, c); } + inline wxChar *wxStrstr(wxChar *haystack, const wxChar *needle) + { return (wxChar *)wxStrstr((const wxChar *)haystack, needle); } + #endif + #endif /* wxNEED_WX_STRING_H */ #ifndef wxStrdupA @@ -1021,6 +1040,8 @@ WXDLLIMPEXP_BASE int wxSystem(const wxChar *psz); #if defined(__MWERKS__) && defined(macintosh) #include #endif + /*silent gabby compilers*/ + struct tm; WXDLLIMPEXP_BASE size_t wxStrftime(wxChar *s, size_t max, const wxChar *fmt, const struct tm *tm); #endif /* wxNEED_WX_TIME_H */ @@ -1057,7 +1078,8 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size ); #define wxWX2WC wxMB2WC #endif #else /* !wxUSE_UNICODE */ -#error ha +/* Why is this here? +#error ha */ /* No wxUSE_WCHAR_T: we have to do something (JACS) */ #define wxMB2WC wxStrncpy #define wxWC2MB wxStrncpy