fixed vararg functions with format argument to not use wxString or reference argument (the latter is invalid C++, the former doesn't work with Watcom and produces at least warnings with GCC 3.3)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -111,15 +111,12 @@ wxString wxMimeTypeCommands::GetVerbCmd(size_t n) const
|
||||
// wxFileTypeInfo
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxFileTypeInfo::VarArgInit(const wxString& mimeType,
|
||||
const wxString& openCmd,
|
||||
const wxString& printCmd,
|
||||
const wxString& desc,
|
||||
...)
|
||||
void wxFileTypeInfo::DoVarArgInit(const wxString& mimeType,
|
||||
const wxString& openCmd,
|
||||
const wxString& printCmd,
|
||||
const wxString& desc,
|
||||
va_list argptr)
|
||||
{
|
||||
va_list argptr;
|
||||
va_start(argptr, desc);
|
||||
|
||||
m_mimeType = mimeType;
|
||||
m_openCmd = openCmd;
|
||||
m_printCmd = printCmd;
|
||||
@@ -146,9 +143,46 @@ void wxFileTypeInfo::VarArgInit(const wxString& mimeType,
|
||||
|
||||
m_exts.Add(ext.GetString());
|
||||
}
|
||||
}
|
||||
|
||||
// NB: DoVarArgInit uses WX_VA_ARG_STRING macro to extract the string and this
|
||||
// macro interprets the argument as char* or wchar_t* depending on build
|
||||
// (and in UTF8 build, on the current locale). Because only one of the
|
||||
// vararg forms below is called and the decision about which one gets
|
||||
// called depends on the same conditions WX_VA_ARG_STRING uses, we can
|
||||
// implement both of them in the exact same way:
|
||||
|
||||
#if !wxUSE_UTF8_LOCALE_ONLY
|
||||
void wxFileTypeInfo::VarArgInitWchar(const wxChar *mimeType,
|
||||
const wxChar *openCmd,
|
||||
const wxChar *printCmd,
|
||||
const wxChar *desc,
|
||||
...)
|
||||
{
|
||||
va_list argptr;
|
||||
va_start(argptr, desc);
|
||||
|
||||
DoVarArgInit(mimeType, openCmd, printCmd, desc, argptr);
|
||||
|
||||
va_end(argptr);
|
||||
}
|
||||
#endif // !wxUSE_UTF8_LOCALE_ONLY
|
||||
|
||||
#if wxUSE_UNICODE_UTF8
|
||||
void wxFileTypeInfo::VarArgInitUtf8(const char *mimeType,
|
||||
const char *openCmd,
|
||||
const char *printCmd,
|
||||
const char *desc,
|
||||
...)
|
||||
{
|
||||
va_list argptr;
|
||||
va_start(argptr, desc);
|
||||
|
||||
DoVarArgInit(mimeType, openCmd, printCmd, desc, argptr);
|
||||
|
||||
va_end(argptr);
|
||||
}
|
||||
#endif // wxUSE_UNICODE_UTF8
|
||||
|
||||
|
||||
wxFileTypeInfo::wxFileTypeInfo(const wxArrayString& sArray)
|
||||
|
||||
Reference in New Issue
Block a user