]> git.saurik.com Git - wxWidgets.git/commitdiff
fixed wxSnprintf() for Unicode build
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 19 Mar 2004 22:45:18 +0000 (22:45 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 19 Mar 2004 22:45:18 +0000 (22:45 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/wxchar.cpp

index 655a9b58b216ec415e985194ee413274a4f517d7..f7649183cc31c5e792aef2bc67663cae7912c6cb 100644 (file)
@@ -919,19 +919,9 @@ int wxSprintf( wxChar *str, const wxChar *format, ... )
     va_list argptr;
     va_start(argptr, format);
 
-    // callers of wxSprintf() deserve what they get
-    //int ret = vswprintf( str, UINT_MAX, wxFormatConverter(format), argptr );
-
-    // ... true, but if we are going to implement it, they probably still
-    // deserve something a little better than absolutely guaranteed silent
-    // failure.  For some (very mysterious) reason, this call fails under glibc
-    // 2.3.2 if str was allocated on the heap and maxsize is larger than this.
-    // Even more mysterious is that it does still succeed if str was allocated
-    // on the stack.  This should still be plenty large enough for people who
-    // want to overflow a buffer.  The bug was first noticed in unicode builds
-    // of tex2rtf, but I'm going to fix that to not use this unsafe function
-    // instead of wasting time diagnosing this further right now.
-    int ret = vswprintf( str, INT_MAX / 4, wxFormatConverter(format), argptr );
+    // note that wxString::Format() uses wxVsnprintf(), not wxSprintf(), so
+    // it's safe to implement this one in terms of it
+    wxStrcpy(str, wxString::Format(format, argptr));
 
     va_end(argptr);