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