X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3d5231db07a04de50075f18fd605d3d87234a33b..0532a2588121690115f4629cdcbc41d2049e50c0:/include/wx/wxchar.h diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index 462da579d6..68d1a6a1ba 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -69,7 +69,9 @@ #include #include #elif defined(__CYGWIN__) - #define HAVE_WCSLEN + #ifndef HAVE_WCSLEN + #define HAVE_WCSLEN + #endif // !HAVE_WCSLEN #include #include #endif @@ -293,29 +295,26 @@ typedef _TUCHAR wxUChar; # elif defined(__VISAGECPP__) && (__IBMCPP__ < 400) # define wxUSE_WCHAR_T 0 # else - // add additional compiler checks if this fails + // add additional compiler checks if this fails # define wxUSE_WCHAR_T 1 # endif # endif // !defined(wxUSE_WCHAR_T) -# if wxUSE_WCHAR_T -# ifdef HAVE_WCSTR_H -# include -# else -# if defined(HAVE_WCHAR_H) - -// include wchar.h to get wcslen() declaration used by wx/buffer.h -# include - -# elif defined(__FreeBSD__) || defined(__DARWIN__) || defined(__EMX__) - -// include stdlib.h for wchar_t, wcslen is provided in wxchar.cpp -# include -size_t WXDLLEXPORT wcslen(const wchar_t *s); - -# endif -# endif -# endif +# if wxUSE_WCHAR_T +# ifdef HAVE_WCHAR_H + // include wchar.h to get wcslen() declaration used by wx/buffer.h + // stddef.h is needed for Cygwin +# include +# include +# elif defined(HAVE_WCSTR_H) + // old compilers have wcslen() here +# include +# elif defined(__FreeBSD__) || defined(__DARWIN__) || defined(__EMX__) + // include stdlib.h for wchar_t, wcslen is provided in wxchar.cpp +# include + size_t WXDLLEXPORT wcslen(const wchar_t *s); +# endif // HAVE_WCHAR_H +# endif // wxUSE_WCHAR_T // check whether we are doing Unicode # if wxUSE_UNICODE @@ -388,15 +387,9 @@ typedef unsigned __WCHAR_TYPE__ wxUChar; # include # include -# if 0 // temporary - preserve binary compatibilty - typedef char wxChar; - typedef signed char wxSChar; - typedef unsigned char wxUChar; -# else -# define wxChar char -# define wxSChar signed char -# define wxUChar unsigned char -# endif + typedef char wxChar; + typedef signed char wxSChar; + typedef unsigned char wxUChar; # if defined(__FreeBSD__) || defined(__DARWIN__) # undef _T @@ -615,7 +608,9 @@ WXDLLEXPORT int wxToupper(wxChar ch); #ifdef wxNEED_WX_STRING_H WXDLLEXPORT wxChar * wxStrcat(wxChar *dest, const wxChar *src); -WXDLLEXPORT wxChar * wxStrchr(const wxChar *s, wxChar c); +WXDLLEXPORT const wxChar * wxStrchr(const wxChar *s, wxChar c); +WXDLLEXPORT wxChar * wxStrchr(wxChar *s, wxChar c) + { return (wxChar *)wxStrchr((const wxChar *)s, c); } WXDLLEXPORT int wxStrcmp(const wxChar *s1, const wxChar *s2); WXDLLEXPORT int wxStrcoll(const wxChar *s1, const wxChar *s2); WXDLLEXPORT wxChar * wxStrcpy(wxChar *dest, const wxChar *src); @@ -624,10 +619,16 @@ WXDLLEXPORT size_t wxStrlen(const wxChar *s); WXDLLEXPORT wxChar * wxStrncat(wxChar *dest, const wxChar *src, size_t n); WXDLLEXPORT int wxStrncmp(const wxChar *s1, const wxChar *s2, size_t n); WXDLLEXPORT wxChar * wxStrncpy(wxChar *dest, const wxChar *src, size_t n); -WXDLLEXPORT wxChar * wxStrpbrk(const wxChar *s, const wxChar *accept); -WXDLLEXPORT wxChar * wxStrrchr(const wxChar *s, wxChar c); +WXDLLEXPORT const wxChar * wxStrpbrk(const wxChar *s, const wxChar *accept); +WXDLLEXPORT wxChar * wxStrpbrk(wxChar *s, const wxChar *accept) + { return (wxChar *)wxStrpbrk((const wxChar *)s, accept); } +WXDLLEXPORT const wxChar * wxStrrchr(const wxChar *s, wxChar c); +WXDLLEXPORT wxChar * wxStrrchr(wxChar *s, wxChar c) + { return (wxChar *)wxStrrchr((const wxChar *)s, c); } WXDLLEXPORT size_t wxStrspn(const wxChar *s, const wxChar *accept); -WXDLLEXPORT wxChar * wxStrstr(const wxChar *haystack, const wxChar *needle); +WXDLLEXPORT const wxChar * wxStrstr(const wxChar *haystack, const wxChar *needle); +WXDLLEXPORT wxChar *wxStrstr(wxChar *haystack, const wxChar *needle) + { return (wxChar *)wxStrstr((const wxChar *)haystack, needle); } WXDLLEXPORT double wxStrtod(const wxChar *nptr, wxChar **endptr); WXDLLEXPORT long int wxStrtol(const wxChar *nptr, wxChar **endptr, int base); WXDLLEXPORT unsigned long int wxStrtoul(const wxChar *nptr, wxChar **endptr, int base); @@ -641,13 +642,13 @@ WXDLLEXPORT FILE * wxFopen(const wxChar *path, const wxChar *mode); WXDLLEXPORT FILE * wxFreopen(const wxChar *path, const wxChar *mode, FILE *stream); WXDLLEXPORT int wxRemove(const wxChar *path); WXDLLEXPORT int wxRename(const wxChar *oldpath, const wxChar *newpath); -WXDLLEXPORT int wxPrintf(const wxChar *fmt, ...); +WXDLLEXPORT int wxPrintf(const wxChar *fmt, ...) ATTRIBUTE_PRINTF_1; WXDLLEXPORT int wxVprintf(const wxChar *fmt, va_list argptr); -WXDLLEXPORT int wxFprintf(FILE *stream, const wxChar *fmt, ...); +WXDLLEXPORT int wxFprintf(FILE *stream, const wxChar *fmt, ...) ATTRIBUTE_PRINTF_2; WXDLLEXPORT int wxVfprintf(FILE *stream, const wxChar *fmt, va_list argptr); -WXDLLEXPORT int wxSprintf(wxChar *buf, const wxChar *fmt, ...); +WXDLLEXPORT int wxSprintf(wxChar *buf, const wxChar *fmt, ...) ATTRIBUTE_PRINTF_2; WXDLLEXPORT int wxVsprintf(wxChar *buf, const wxChar *fmt, va_list argptr); -WXDLLEXPORT int wxSscanf(const wxChar *buf, const wxChar *fmt, ...); +WXDLLEXPORT int wxSscanf(const wxChar *buf, const wxChar *fmt, ...) ATTRIBUTE_PRINTF_2; WXDLLEXPORT int wxVsscanf(const wxChar *buf, const wxChar *fmt, va_list argptr); #endif