ui_browser__color_config() set foreground and background
colors values in ui_browser__colorsets.
But it can be reused by other functions so make ui_browser__config_colors()
bringing it from ui_browser__color_config().

Cc: Namhyung Kim <namhy...@kernel.org>
Cc: Jiri Olsa <jo...@kernel.org>
Signed-off-by: Taeung Song <treeze.tae...@gmail.com>
---
 tools/perf/ui/browser.c | 41 ++++++++++++++++++++++++-----------------
 1 file changed, 24 insertions(+), 17 deletions(-)

diff --git a/tools/perf/ui/browser.c b/tools/perf/ui/browser.c
index af68a9d..c905445 100644
--- a/tools/perf/ui/browser.c
+++ b/tools/perf/ui/browser.c
@@ -553,12 +553,31 @@ static struct ui_browser_colorset {
        }
 };
 
+static int ui_browser__config_colors(struct ui_browser_colorset 
*ui_browser_color,
+                                    const char *value)
+{
+       char *fg = NULL, *bg;
+
+       fg = strdup(value);
+       if (fg == NULL)
+               return -1;
+
+       bg = strtok(fg, ",");
+       if (bg == NULL) {
+               free(fg);
+               return -1;
+       }
+       ltrim(bg);
+
+       ui_browser_color->fg = fg;
+       ui_browser_color->bg = bg;
+       return 0;
+}
 
 static int ui_browser__color_config(const char *var, const char *value,
                                    void *data __maybe_unused)
 {
-       char *fg = NULL, *bg;
-       int i;
+       int i, ret;
 
        /* same dir for all commands */
        if (prefixcmp(var, "colors.") != 0)
@@ -570,23 +589,11 @@ static int ui_browser__color_config(const char *var, 
const char *value,
                if (strcmp(ui_browser__colorsets[i].name, name) != 0)
                        continue;
 
-               fg = strdup(value);
-               if (fg == NULL)
-                       break;
-
-               bg = strchr(fg, ',');
-               if (bg == NULL)
-                       break;
-
-               *bg = '\0';
-               while (isspace(*++bg));
-               ui_browser__colorsets[i].bg = bg;
-               ui_browser__colorsets[i].fg = fg;
-               return 0;
+               ret = ui_browser__config_colors(&ui_browser__colorsets[i], 
value);
+               break;
        }
 
-       free(fg);
-       return -1;
+       return ret;
 }
 
 void ui_browser__argv_seek(struct ui_browser *browser, off_t offset, int 
whence)
-- 
2.5.0

Reply via email to