Fix to show trace output. 83/83/1
authorEd Warnicke <eaw@cisco.com>
Wed, 23 Dec 2015 01:55:08 +0000 (18:55 -0700)
committerEd Warnicke <eaw@cisco.com>
Wed, 23 Dec 2015 01:55:08 +0000 (18:55 -0700)
Change-Id: I0834eac9c17941d3d5b2aa5791d6deaabd8f6977
Signed-off-by: Ed Warnicke <eaw@cisco.com>
vlib/vlib/trace.c

index 43c000f..d133ca4 100644 (file)
@@ -188,6 +188,7 @@ cli_show_trace_buffer (vlib_main_t * vm,
   vlib_trace_header_t ** h, ** traces;
   u32 i, index = 0;
   char * fmt;
+  u8 * s = 0;
 
   /* Get active traces from pool. */
 
@@ -195,8 +196,8 @@ cli_show_trace_buffer (vlib_main_t * vm,
   ({
     void *mainheap;
 
-    fmt = "------------------- Start of thread %d %v -------------------";
-    vlib_cli_output (vm, fmt, index, vlib_worker_threads[index].name);
+    fmt = "------------------- Start of thread %d %s -------------------\n";
+    s = format (s, fmt, index, vlib_worker_threads[index].name);
 
     tm = &this_vlib_main->trace_main;
 
@@ -210,7 +211,7 @@ cli_show_trace_buffer (vlib_main_t * vm,
     if (vec_len (traces) == 0)
       {
         clib_mem_set_heap (mainheap);
-        vlib_cli_output (vm, "No packets in trace buffer");
+        s = format (s, "No packets in trace buffer\n");
         goto done;
       }
     
@@ -221,7 +222,7 @@ cli_show_trace_buffer (vlib_main_t * vm,
       {
         clib_mem_set_heap (mainheap);
         
-        vlib_cli_output (vm, "Packet %d\n%U\n\n", i + 1,
+        s = format (s, "Packet %d\n%U\n\n", i + 1,
                          format_vlib_trace, vm, traces[i]);
 
         mainheap = clib_mem_set_heap (this_vlib_main->heap_base);
@@ -234,6 +235,8 @@ cli_show_trace_buffer (vlib_main_t * vm,
     index++;
   }));
 
+  vlib_cli_output (vm, s);
+  vec_free (s);
   return 0;
 }