Fix vararg type checking to accept ints for %c.
It's perfectly legitimate to format int values as %c, so don't assert in this case. Fixes #12192. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -160,7 +160,7 @@ public:
|
||||
Arg_Pointer = 0x0002, // %p
|
||||
Arg_String = 0x0004 | Arg_Pointer, // any form of string (%s and %p too)
|
||||
|
||||
Arg_Int = 0x0008,
|
||||
Arg_Int = 0x0008 | Arg_Char, // (ints can be used with %c)
|
||||
#if SIZEOF_INT == SIZEOF_LONG
|
||||
Arg_LongInt = Arg_Int,
|
||||
#else
|
||||
|
@@ -215,4 +215,8 @@ void VarArgTestCase::ArgsValidation()
|
||||
VarArgTestCase& somePOD = *this;
|
||||
WX_ASSERT_FAILS_WITH_ASSERT( wxString::Format("%s", somePOD) );
|
||||
#endif
|
||||
|
||||
// %c should accept integers too
|
||||
wxString::Format("%c", 80);
|
||||
wxString::Format("%c", wxChar(80) + wxChar(1));
|
||||
}
|
||||
|
Reference in New Issue
Block a user