[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