]> git.sur5r.net Git - openocd/commitdiff
debug: make logging of commands terser
authorØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 11 Jan 2010 14:54:52 +0000 (15:54 +0100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Wed, 13 Jan 2010 07:32:15 +0000 (08:32 +0100)
one line / command instead of one line per argument.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
src/helper/command.c

index cf66f8a4c701a2c402a4133880e294ca76441f9d..ebd9aa6265b8c674c07a1f45ca7246f39a0ad327 100644 (file)
@@ -108,10 +108,15 @@ static int command_retval_set(Jim_Interp *interp, int retval)
 
 extern struct command_context *global_cmd_ctx;
 
+/* dump a single line to the log for the command.
+ * Do nothing in case we are not at debug level 3 */
 void script_debug(Jim_Interp *interp, const char *name,
                unsigned argc, Jim_Obj *const *argv)
 {
-       LOG_DEBUG("command - %s", name);
+       if (debug_level < LOG_LVL_DEBUG)
+               return;
+
+       char * dbg = alloc_printf("command - %s", name);
        for (unsigned i = 0; i < argc; i++)
        {
                int len;
@@ -121,8 +126,12 @@ void script_debug(Jim_Interp *interp, const char *name,
                if (*w == '#')
                        break;
 
-               LOG_DEBUG("%s - argv[%d]=%s", name, i, w);
+               char * t = alloc_printf("%s %s", dbg, w);
+               free (dbg);
+               dbg = t;
        }
+       LOG_DEBUG("%s", dbg);
+       free(dbg);
 }
 
 static void script_command_args_free(const char **words, unsigned nwords)