From: Václav Slavík Date: Sat, 3 Jul 2010 14:24:12 +0000 (+0000) Subject: Fix vararg type checking to accept ints for %c. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/3b12da351c59ebfb7d375f4de6b4bc79a9825045?ds=sidebyside 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 --- diff --git a/include/wx/strvararg.h b/include/wx/strvararg.h index 933c452f6c..db91346e67 100644 --- a/include/wx/strvararg.h +++ b/include/wx/strvararg.h @@ -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 diff --git a/tests/strings/vararg.cpp b/tests/strings/vararg.cpp index 5e165d5f16..f778fec4be 100644 --- a/tests/strings/vararg.cpp +++ b/tests/strings/vararg.cpp @@ -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)); }