Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1396966

[PATCH 2/4] perf tools: Separate out code setting ground colors from ui_browser__color_config

From Taeung Song <treeze.taeung@gmail.com>
Newsgroups linux.kernel
Subject [PATCH 2/4] perf tools: Separate out code setting ground colors from ui_browser__color_config
Date 2016-05-09 13:50 +0200
Message-ID <rwRRg-4H5-13@gated-at.bofh.it> (permalink)
References <rwRRf-4H5-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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_gcolors()
bringing it from ui_browser__color_config().

Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 tools/perf/ui/browser.c | 43 ++++++++++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 17 deletions(-)

diff --git a/tools/perf/ui/browser.c b/tools/perf/ui/browser.c
index af68a9d..a477867 100644
--- a/tools/perf/ui/browser.c
+++ b/tools/perf/ui/browser.c
@@ -553,12 +553,33 @@ static struct ui_browser_colorset {
 	}
 };
 
+static int ui_browser__config_gcolors(struct ui_browser_colorset *ui_browser_color,
+				      const char *value)
+{
+	char *fg = NULL, *bg;
+
+	fg = strdup(value);
+	if (fg == NULL)
+		return -1;
+
+	bg = strchr(fg, ',');
+	if (bg == NULL) {
+		free(fg);
+		return -1;
+	}
+
+	*bg = '\0';
+	while (isspace(*++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 +591,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_gcolors(&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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 2/4] perf tools: Separate out code setting ground colors from ui_browser__color_config Taeung Song <treeze.taeung@gmail.com> - 2016-05-09 13:50 +0200
  Re: [PATCH 2/4] perf tools: Separate out code setting ground colors  from ui_browser__color_config Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-05-09 19:20 +0200
    Re: [PATCH 2/4] perf tools: Separate out code setting ground colors  from ui_browser__color_config Taeung Song <treeze.taeung@gmail.com> - 2016-05-10 13:40 +0200

csiph-web