[ros-diffs] [fireball] 35131: - Get rid of sprintf usage in default_dbg_vprintf. - This make tracing macro usage safe in crt sprintf implementation and simplify overall codepath (no need for intermediate buffer). - Solution inspired by hackbunny's suggestion, fixes bug 3632. See issue #3632 for more details.

fireball at svn.reactos.org fireball at svn.reactos.org
Tue Aug 5 20:00:47 CEST 2008


Author: fireball
Date: Tue Aug  5 13:00:46 2008
New Revision: 35131

URL: http://svn.reactos.org/svn/reactos?rev=35131&view=rev
Log:
- Get rid of sprintf usage in default_dbg_vprintf.
- This make tracing macro usage safe in crt sprintf implementation and simplify overall codepath (no need for intermediate buffer).
- Solution inspired by hackbunny's suggestion, fixes bug 3632.
See issue #3632 for more details.

Modified:
    trunk/reactos/lib/3rdparty/libwine/debug.c

Modified: trunk/reactos/lib/3rdparty/libwine/debug.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/libwine/debug.c?rev=35131&r1=35130&r2=35131&view=diff
==============================================================================
--- trunk/reactos/lib/3rdparty/libwine/debug.c [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/libwine/debug.c [iso-8859-1] Tue Aug  5 13:00:46 2008
@@ -42,6 +42,16 @@
     IN ...
 );
 
+ULONG
+__cdecl
+vDbgPrintExWithPrefix(
+  IN LPCSTR Prefix,
+  IN ULONG ComponentId,
+  IN ULONG Level,
+  IN LPCSTR Format,
+  IN va_list ap);
+
+
 static const char * const debug_classes[] = { "fixme", "err", "warn", "trace" };
 
 #define MAX_DEBUG_OPTIONS 256
@@ -384,10 +394,7 @@
 /* default implementation of wine_dbg_vprintf */
 static int default_dbg_vprintf( const char *format, va_list args )
 {
-    char buffer[512];
-    vsnprintf( buffer, sizeof(buffer), format, args );
-    buffer[sizeof(buffer) - 1] = '\0';
-    return DbgPrint( "%s", buffer );
+    return vDbgPrintExWithPrefix(NULL, -1, 0, format, args);
 }
 
 



More information about the Ros-diffs mailing list