Add --enable-malloc-logging configure option and update log.c to match.
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Mon, 11 May 2009 03:35:25 +0000 (03:35 +0000)
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Mon, 11 May 2009 03:35:25 +0000 (03:35 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1703 b42882b7-edfa-0310-969c-e2dbd0fdcd60

configure.in
src/helper/log.c

index 4b1053f..8da7005 100644 (file)
@@ -250,6 +250,19 @@ if test $debug_usb_comms = yes; then
 fi
 
 
+debug_malloc=no
+AC_ARG_ENABLE(malloc_logging,
+       AS_HELP_STRING([--enable-malloc-logging],
+               [Include free space in logging messages (requires malloc.h).]), 
+       [debug_malloc=$enableval], [])
+
+AC_MSG_CHECKING([whether to enable malloc free space logging]);
+AC_MSG_RESULT($debug_malloc)
+if test $debug_malloc = yes; then
+  AC_DEFINE([_DEBUG_FREE_SPACE_],[1], [Include malloc free space in logging])
+fi
+
+
 AC_ARG_ENABLE(parport,
   AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), 
   [build_parport=$enableval], [build_parport=no])
index c603c7e..b6bb347 100644 (file)
 #include <unistd.h>
 #include <stdarg.h>
 
-#define PRINT_MEM() 0
-#if PRINT_MEM()
+#ifdef _DEBUG_FREE_SPACE_
+#ifdef HAVE_MALLOC_H
 #include <malloc.h>
+#else
+#error "malloc.h is required to use --enable-malloc-logging"
+#endif
 #endif
 
 int debug_level = -1;
@@ -99,16 +102,16 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch
                {
                        /* print with count and time information */
                        int t=(int)(timeval_ms()-start);
-#if PRINT_MEM()
+#ifdef _DEBUG_FREE_SPACE_
                        struct mallinfo info;
                        info = mallinfo();
 #endif
                        fprintf(log_output, "%s%d %d %s:%d %s()"
-#if PRINT_MEM()
+#ifdef _DEBUG_FREE_SPACE_
                                        " %d"
 #endif
                                        ": %s", log_strings[level+1], count, t, file, line, function,
-#if PRINT_MEM()
+#ifdef _DEBUG_FREE_SPACE_
                                        info.fordblks,
 #endif
                                        string);