]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxcrtvararg.h
extract event handler body in a separate function instead of using a hack to call...
[wxWidgets.git] / include / wx / wxcrtvararg.h
index 77ffc5f0d78529895a8cf092a189d22b27065448..e454f6c703620c7d9773ce0957b877f668808cf8 100644 (file)
     #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);