X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2385ec429a259582aeecb9daeffd4e71b6257550..307b0b97ee4c88f7fab8b48e463da54b72b41367:/include/wx/wxchar.h diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index a8ce78ad9f..a3764e8a99 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -53,7 +53,7 @@ #else #define wxUSE_WCHAR_T 0 #endif - #elif defined(__GNUWIN32__) && !defined(__MINGW32__) // Cygwin (not Mingw32) doesn't have wcslen.h, needed in buffer.h + #elif defined(__GNUWIN32__) && !defined(__MINGW32__) #define wxUSE_WCHAR_T 0 #elif defined(__WATCOMC__) #define wxUSE_WCHAR_T 0 @@ -80,13 +80,6 @@ // Required for wxPrintf() etc #include -#if defined(__CYGWIN__) - #ifndef HAVE_WCSLEN - #define HAVE_WCSLEN - #endif // !HAVE_WCSLEN - #include -#endif - // non Unix compilers which do have wchar.h (but not tchar.h which is included // below and which includes wchar.h anyhow) #if defined(__MWERKS__) || defined(__VISAGECPP__) @@ -97,15 +90,13 @@ #if wxUSE_WCHAR_T #ifdef HAVE_WCHAR_H - // include wchar.h to get wcslen() declaration used by wx/buffer.h #include #elif defined(HAVE_WCSTR_H) - // old compilers have wcslen() here + // old compilers have relevant declarations here #include #elif defined(__FreeBSD__) || defined(__DARWIN__) || defined(__EMX__) - // include stdlib.h for wchar_t, wcslen is provided in wxchar.cpp + // include stdlib.h for wchar_t #include - size_t WXDLLEXPORT wcslen(const wchar_t *s); #endif // HAVE_WCHAR_H #endif // wxUSE_WCHAR_T @@ -375,7 +366,7 @@ #define wxStrcoll wcscoll #define wxStrcpy wcscpy #define wxStrcspn wcscspn - #define wxStrlen_ wcslen // used in wxStrlen inline function + #define wxStrlen_ wxWcslen // wxStrlen_() is used in wxStrlen() #define wxStrncat wcsncat #define wxStrncmp wcsncmp #define wxStrncpy wcsncpy @@ -384,7 +375,6 @@ #define wxStrspn wcsspn #define wxStrstr wcsstr #define wxStrtod wcstod - #define wxStrtok wcstok #define wxStrtol wcstol #define wxStrtoul wcstoul #define wxStrxfrm wcsxfrm @@ -471,8 +461,6 @@ #define wxStrtod strtod #ifdef HAVE_STRTOK_R #define wxStrtok(str, sep, last) strtok_r(str, sep, last) - #else - #define wxStrtok(str, sep, last) strtok(str, sep) #endif #define wxStrtol strtol #define wxStrtoul strtoul @@ -547,14 +535,9 @@ #endif #endif // !defined(wxStricmp) -// checks whether the passed in pointer is NULL and if the string is empty -inline bool wxIsEmpty(const wxChar *p) { return !p || !*p; } - -// safe version of strlen() (returns 0 if passed NULL pointer) -inline size_t wxStrlen(const wxChar *psz) { return psz ? wxStrlen_(psz) : 0; } - // define wxWcslen() which should be always available if wxUSE_WCHAR_T == 1 (as -// it's used in wx/buffer.h) +// it's used in wx/buffer.h -- and also might be used just below by wxStrlen() +// when wxStrlen_() is #define'd as wxWcslen so do it before defining wxStrlen) #if wxUSE_WCHAR_T #ifdef HAVE_WCSLEN #define wxWcslen wcslen @@ -570,6 +553,12 @@ inline size_t wxStrlen(const wxChar *psz) { return psz ? wxStrlen_(psz) : 0; } #endif #endif // wxUSE_WCHAR_T +// checks whether the passed in pointer is NULL and if the string is empty +inline bool wxIsEmpty(const wxChar *p) { return !p || !*p; } + +// safe version of strlen() (returns 0 if passed NULL pointer) +inline size_t wxStrlen(const wxChar *psz) { return psz ? wxStrlen_(psz) : 0; } + WXDLLEXPORT bool wxOKlibc(); // for internal use // ---------------------------------------------------------------------------- @@ -643,13 +632,13 @@ WXDLLEXPORT bool wxOKlibc(); // for internal use #include // for FILE - int wxScanf( const wxChar *format, ... ) ATTRIBUTE_PRINTF_2; - int wxSscanf( const wxChar *str, const wxChar *format, ... ) ATTRIBUTE_PRINTF_3; - int wxFscanf( FILE *stream, const wxChar *format, ... ) ATTRIBUTE_PRINTF_3; + int wxScanf( const wxChar *format, ... ) ATTRIBUTE_PRINTF_1; + int wxSscanf( const wxChar *str, const wxChar *format, ... ) ATTRIBUTE_PRINTF_2; + int wxFscanf( FILE *stream, const wxChar *format, ... ) ATTRIBUTE_PRINTF_2; int wxVsscanf( const wxChar *str, const wxChar *format, va_list ap ); - int wxPrintf( const wxChar *format, ... ) ATTRIBUTE_PRINTF_2; - int wxSprintf( wxChar *str, const wxChar *format, ... ) ATTRIBUTE_PRINTF_3; - int wxFprintf( FILE *stream, const wxChar *format, ... ) ATTRIBUTE_PRINTF_3; + int wxPrintf( const wxChar *format, ... ) ATTRIBUTE_PRINTF_1; + int wxSprintf( wxChar *str, const wxChar *format, ... ) ATTRIBUTE_PRINTF_2; + int wxFprintf( FILE *stream, const wxChar *format, ... ) ATTRIBUTE_PRINTF_2; int wxVfprintf( FILE *stream, const wxChar *format, va_list ap ); int wxVprintf( const wxChar *format, va_list ap ); int wxVsprintf( wxChar *str, const wxChar *format, va_list ap ); @@ -658,7 +647,7 @@ WXDLLEXPORT bool wxOKlibc(); // for internal use // these 2 can be simply mapped to the versions with underscore at the end // if we don't have to do the conversion #ifdef wxNEED_PRINTF_CONVERSION - int wxSnprintf( wxChar *str, size_t size, const wxChar *format, ... ) ATTRIBUTE_PRINTF_4; + int wxSnprintf( wxChar *str, size_t size, const wxChar *format, ... ) ATTRIBUTE_PRINTF_3; int wxVsnprintf( wxChar *str, size_t size, const wxChar *format, va_list ap ); #else #define wxSnprintf wxSnprintf_