vppinfra: add bright colors to format_table

Type: improvement
Change-Id: I21de21af6dea9e39df5e912e20e56d878a40659f
Signed-off-by: Damjan Marion <damarion@cisco.com>
diff --git a/src/vppinfra/format_table.c b/src/vppinfra/format_table.c
index 8b218f5..5fe7521 100644
--- a/src/vppinfra/format_table.c
+++ b/src/vppinfra/format_table.c
@@ -64,12 +64,14 @@
 	{
 	  a->fg_color = c->attr.fg_color;
 	  a->flags |= TTAF_FG_COLOR_SET;
+	  a->flags |= c->attr.flags & TTAF_FG_COLOR_BRIGHT;
 	}
 
       if (c->attr.flags & TTAF_BG_COLOR_SET)
 	{
 	  a->bg_color = c->attr.bg_color;
 	  a->flags |= TTAF_BG_COLOR_SET;
+	  a->flags |= c->attr.flags & TTAF_BG_COLOR_BRIGHT;
 	}
 
       if (a->flags & TTAF_RESET)
@@ -216,16 +218,24 @@
 table_set_cell_fg_color (table_t *t, int c, int r, table_text_attr_color_t v)
 {
   table_cell_t *cell = table_get_cell (t, c, r);
-  cell->attr.fg_color = v;
+  cell->attr.fg_color = v & 0x7;
   cell->attr.flags |= TTAF_FG_COLOR_SET;
+  if (v & 8)
+    cell->attr.flags |= TTAF_FG_COLOR_BRIGHT;
+  else
+    cell->attr.flags &= ~TTAF_FG_COLOR_BRIGHT;
 }
 
 void
 table_set_cell_bg_color (table_t *t, int c, int r, table_text_attr_color_t v)
 {
   table_cell_t *cell = table_get_cell (t, c, r);
-  cell->attr.bg_color = v;
+  cell->attr.bg_color = v & 0x7;
   cell->attr.flags |= TTAF_BG_COLOR_SET;
+  if (v & 8)
+    cell->attr.flags |= TTAF_BG_COLOR_BRIGHT;
+  else
+    cell->attr.flags &= ~TTAF_BG_COLOR_BRIGHT;
 }
 
 void
diff --git a/src/vppinfra/format_table.h b/src/vppinfra/format_table.h
index a659533..4f4a772 100644
--- a/src/vppinfra/format_table.h
+++ b/src/vppinfra/format_table.h
@@ -46,6 +46,14 @@
   TTAC_MAGENTA = 5,
   TTAC_CYAN = 6,
   TTAC_WHITE = 7,
+  TTAC_BRIGHT_BLACK = 8,
+  TTAC_BRIGHT_RED = 9,
+  TTAC_BRIGHT_GREEN = 10,
+  TTAC_BRIGHT_YELLOW = 11,
+  TTAC_BRIGHT_BLUE = 12,
+  TTAC_BRIGHT_MAGENTA = 13,
+  TTAC_BRIGHT_CYAN = 14,
+  TTAC_BRIGHT_WHITE = 15,
 } table_text_attr_color_t;
 
 typedef enum