X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2523e9b70044baa92a1c63ffdfe179c28ad53536..1f540d9658b1a37a807a4176ca053ae3dd123099:/include/wx/wxcrtvararg.h diff --git a/include/wx/wxcrtvararg.h b/include/wx/wxcrtvararg.h index 6ddb99ff1c..8b25fb62f6 100644 --- a/include/wx/wxcrtvararg.h +++ b/include/wx/wxcrtvararg.h @@ -259,10 +259,10 @@ // we'll also need wxArgNormalizer specializations for char, // wchar_t, wxUniChar and wxUniCharRef to handle this correctly -WX_DEFINE_VARARG_FUNC2(int, wxPrintf, 1, (const wxString&), - wxCRT_Printf, printf) -WX_DEFINE_VARARG_FUNC2(int, wxFprintf, 2, (FILE*, const wxString&), - wxCRT_Fprintf, fprintf) +WX_DEFINE_VARARG_FUNC(int, wxPrintf, 1, (const wxFormatString&), + wxCRT_Printf, printf) +WX_DEFINE_VARARG_FUNC(int, wxFprintf, 2, (FILE*, const wxFormatString&), + wxCRT_Fprintf, fprintf) // va_list versions of printf functions simply forward to the respective // CRT function; note that they assume that va_list was created using @@ -284,13 +284,15 @@ WX_DEFINE_VARARG_FUNC2(int, wxFprintf, 2, (FILE*, const wxString&), inline int wxVprintf(const wxString& format, va_list ap) { - WX_VARARG_VFOO_IMPL((format, ap), wxCRT_Vprintf, vprintf); + WX_VARARG_VFOO_IMPL((wxFormatString(format), ap), + wxCRT_Vprintf, vprintf); } inline int wxVfprintf(FILE *f, const wxString& format, va_list ap) { - WX_VARARG_VFOO_IMPL((f, format, ap), wxCRT_Vfprintf, vfprintf); + WX_VARARG_VFOO_IMPL((f, wxFormatString(format), ap), + wxCRT_Vfprintf, vfprintf); } #undef WX_VARARG_VFOO_IMPL @@ -299,34 +301,56 @@ wxVfprintf(FILE *f, const wxString& format, va_list ap) // wxSprintf() and friends have to be implemented in two forms, one for // writing to char* buffer and one for writing to wchar_t*: -int WXDLLIMPEXP_BASE wxDoSprintf(char *str, const wxString& format, ...); -WX_DEFINE_VARARG_FUNC(int, wxSprintf, 2, (char*, const wxString&), - wxDoSprintf) +#if !wxUSE_UTF8_LOCALE_ONLY +int WXDLLIMPEXP_BASE wxDoSprintfWchar(char *str, const wxChar *format, ...); +#endif +#if wxUSE_UNICODE_UTF8 +int WXDLLIMPEXP_BASE wxDoSprintfUtf8(char *str, const char *format, ...); +#endif +WX_DEFINE_VARARG_FUNC(int, wxSprintf, 2, (char*, const wxFormatString&), + wxDoSprintfWchar, wxDoSprintfUtf8) int WXDLLIMPEXP_BASE wxVsprintf(char *str, const wxString& format, va_list argptr); -int WXDLLIMPEXP_BASE wxDoSnprintf(char *str, size_t size, const wxString& format, ...); -WX_DEFINE_VARARG_FUNC(int, wxSnprintf, 3, (char*, size_t, const wxString&), - wxDoSnprintf) +#if !wxUSE_UTF8_LOCALE_ONLY +int WXDLLIMPEXP_BASE wxDoSnprintfWchar(char *str, size_t size, const wxChar *format, ...); +#endif +#if wxUSE_UNICODE_UTF8 +int WXDLLIMPEXP_BASE wxDoSnprintfUtf8(char *str, size_t size, const char *format, ...); +#endif +WX_DEFINE_VARARG_FUNC(int, wxSnprintf, 3, (char*, size_t, const wxFormatString&), + wxDoSnprintfWchar, wxDoSnprintfUtf8) int WXDLLIMPEXP_BASE wxVsnprintf(char *str, size_t size, const wxString& format, va_list argptr); #if wxUSE_UNICODE -int WXDLLIMPEXP_BASE wxDoSprintf(wchar_t *str, const wxString& format, ...); -WX_DEFINE_VARARG_FUNC(int, wxSprintf, 2, (wchar_t*, const wxString&), - wxDoSprintf) + +#if !wxUSE_UTF8_LOCALE_ONLY +int WXDLLIMPEXP_BASE wxDoSprintfWchar(wchar_t *str, const wxChar *format, ...); +#endif +#if wxUSE_UNICODE_UTF8 +int WXDLLIMPEXP_BASE wxDoSprintfUtf8(wchar_t *str, const char *format, ...); +#endif +WX_DEFINE_VARARG_FUNC(int, wxSprintf, 2, (wchar_t*, const wxFormatString&), + wxDoSprintfWchar, wxDoSprintfUtf8) int WXDLLIMPEXP_BASE wxVsprintf(wchar_t *str, const wxString& format, va_list argptr); -int WXDLLIMPEXP_BASE wxDoSnprintf(wchar_t *str, size_t size, const wxString& format, ...); -WX_DEFINE_VARARG_FUNC(int, wxSnprintf, 3, (wchar_t*, size_t, const wxString&), - wxDoSnprintf) +#if !wxUSE_UTF8_LOCALE_ONLY +int WXDLLIMPEXP_BASE wxDoSnprintfWchar(wchar_t *str, size_t size, const wxChar *format, ...); +#endif +#if wxUSE_UNICODE_UTF8 +int WXDLLIMPEXP_BASE wxDoSnprintfUtf8(wchar_t *str, size_t size, const char *format, ...); +#endif +WX_DEFINE_VARARG_FUNC(int, wxSnprintf, 3, (wchar_t*, size_t, const wxFormatString&), + wxDoSnprintfWchar, wxDoSnprintfUtf8) int WXDLLIMPEXP_BASE wxVsnprintf(wchar_t *str, size_t size, const wxString& format, va_list argptr); + #endif // wxUSE_UNICODE #ifdef __WATCOMC__