X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6bc7b9138db63cd4ea58b00877d45acae44b6055..c9ccc09c64f4c29d4667796bef7b507d9e8d25ed:/include/wx/wxcrtvararg.h diff --git a/include/wx/wxcrtvararg.h b/include/wx/wxcrtvararg.h index 77ffc5f0d7..c364def554 100644 --- a/include/wx/wxcrtvararg.h +++ b/include/wx/wxcrtvararg.h @@ -2,7 +2,7 @@ // Name: wx/wxcrtvararg.h // Purpose: Type-safe ANSI and Unicode builds compatible wrappers for // printf(), scanf() and related CRT functions -// Author: Joel Farley, Ove Kåven +// Author: Joel Farley, Ove KÃ¥ven // Modified by: Vadim Zeitlin, Robert Roebling, Ron Lee // Created: 2007-02-19 // RCS-ID: $Id$ @@ -281,10 +281,20 @@ #define wxCRT_FprintfNative wxCRT_FprintfA #endif -WX_DEFINE_VARARG_FUNC(int, wxPrintf, 1, (const wxFormatString&), - wxCRT_PrintfNative, wxCRT_PrintfA) -WX_DEFINE_VARARG_FUNC(int, wxFprintf, 2, (FILE*, const wxFormatString&), - wxCRT_FprintfNative, wxCRT_FprintfA) + +WX_DEFINE_VARARG_FUNC_SANS_N0(int, wxPrintf, 1, (const wxFormatString&), + wxCRT_PrintfNative, wxCRT_PrintfA) +inline int wxPrintf(const wxFormatString& s) +{ + return wxPrintf("%s", s.InputAsString()); +} + +WX_DEFINE_VARARG_FUNC_SANS_N0(int, wxFprintf, 2, (FILE*, const wxFormatString&), + wxCRT_FprintfNative, wxCRT_FprintfA) +inline int wxFprintf(FILE *f, const wxFormatString& s) +{ + return wxFprintf(f, "%s", s.InputAsString()); +} // va_list versions of printf functions simply forward to the respective // CRT function; note that they assume that va_list was created using @@ -426,10 +436,6 @@ wxVsnprintf(wchar_t *str, size_t size, const wxString& format, va_list argptr); } #define WX_DEFINE_SCANFUNC(name, numfixed, fixed, impl, passfixed) \ - inline int name(_WX_SCANFUNC_EXTRACT_ARGS(numfixed, fixed)) \ - { \ - return impl(_WX_SCANFUNC_EXTRACT_ARGS(numfixed, passfixed)); \ - } \ _WX_VARARG_ITER(_WX_VARARG_MAX_ARGS, \ _WX_DEFINE_SCANFUNC, \ dummy1, name, impl, passfixed, numfixed, fixed) @@ -439,7 +445,7 @@ wxVsnprintf(wchar_t *str, size_t size, const wxString& format, va_list argptr); #ifdef __WINDOWS__ #define wxScanfConvertFormatW(fmt) fmt #else - const wxWCharBuffer + const wxScopedWCharBuffer WXDLLIMPEXP_BASE wxScanfConvertFormatW(const wchar_t *format); #endif @@ -457,9 +463,9 @@ WX_DEFINE_SCANFUNC(wxSscanf, 2, (const char *str, const char *format), wxCRT_SscanfA, (str, format)) WX_DEFINE_SCANFUNC(wxSscanf, 2, (const wchar_t *str, const wchar_t *format), wxCRT_SscanfW, (str, wxScanfConvertFormatW(format))) -WX_DEFINE_SCANFUNC(wxSscanf, 2, (const wxCharBuffer& str, const char *format), +WX_DEFINE_SCANFUNC(wxSscanf, 2, (const wxScopedCharBuffer& str, const char *format), wxCRT_SscanfA, (str.data(), format)) -WX_DEFINE_SCANFUNC(wxSscanf, 2, (const wxWCharBuffer& str, const wchar_t *format), +WX_DEFINE_SCANFUNC(wxSscanf, 2, (const wxScopedWCharBuffer& str, const wchar_t *format), wxCRT_SscanfW, (str.data(), wxScanfConvertFormatW(format))) WX_DEFINE_SCANFUNC(wxSscanf, 2, (const wxString& str, const char *format), wxCRT_SscanfA, (str.mb_str(), format)) @@ -474,8 +480,8 @@ WX_DEFINE_SCANFUNC(wxSscanf, 2, (const wxCStrData& str, const wchar_t *format), #ifndef __VISUALC___ int WXDLLIMPEXP_BASE wxVsscanf(const char *str, const char *format, va_list ap); int WXDLLIMPEXP_BASE wxVsscanf(const wchar_t *str, const wchar_t *format, va_list ap); -int WXDLLIMPEXP_BASE wxVsscanf(const wxCharBuffer& str, const char *format, va_list ap); -int WXDLLIMPEXP_BASE wxVsscanf(const wxWCharBuffer& str, const wchar_t *format, va_list ap); +int WXDLLIMPEXP_BASE wxVsscanf(const wxScopedCharBuffer& str, const char *format, va_list ap); +int WXDLLIMPEXP_BASE wxVsscanf(const wxScopedWCharBuffer& str, const wchar_t *format, va_list ap); int WXDLLIMPEXP_BASE wxVsscanf(const wxString& str, const char *format, va_list ap); int WXDLLIMPEXP_BASE wxVsscanf(const wxString& str, const wchar_t *format, va_list ap); int WXDLLIMPEXP_BASE wxVsscanf(const wxCStrData& str, const char *format, va_list ap);