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…
==============================================================================
--- 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);
}