diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-06-27 10:52:57 -0300 | 
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-06-27 10:52:57 -0300 | 
| commit | 881c362d34ef76600b859e3a034d4155139bad2c (patch) | |
| tree | ca40b870b417b62141932e69f61aad85f9f7d555 /tools | |
| parent | 19508c048a2f90facb64624340bf1b7ee555442e (diff) | |
perf help: Introduce exec_failed() to avoid code duplication
The warning(str_error_r(errno)) pattern can be replaced with a function,
do it.
And while at it use pr_warning(), we have way too many error reporting
facilities, time to drop some, starting with the one we got from the git
sources.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-lbak5npj1ri1uuvf1en3c0p0@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/perf/builtin-help.c | 22 | 
1 files changed, 9 insertions, 13 deletions
| diff --git a/tools/perf/builtin-help.c b/tools/perf/builtin-help.c index 492f8e14ab09..e82fa0d5866e 100644 --- a/tools/perf/builtin-help.c +++ b/tools/perf/builtin-help.c @@ -108,10 +108,14 @@ out:  	return ret;  } -static void exec_woman_emacs(const char *path, const char *page) +static void exec_failed(const char *cmd)  {  	char sbuf[STRERR_BUFSIZE]; +	pr_warning("failed to exec '%s': %s", cmd, str_error_r(errno, sbuf, sizeof(sbuf))); +} +static void exec_woman_emacs(const char *path, const char *page) +{  	if (!check_emacsclient_version()) {  		/* This works only with emacsclient version >= 22. */  		char *man_page; @@ -122,8 +126,7 @@ static void exec_woman_emacs(const char *path, const char *page)  			execlp(path, "emacsclient", "-e", man_page, NULL);  			free(man_page);  		} -		warning("failed to exec '%s': %s", path, -			str_error_r(errno, sbuf, sizeof(sbuf))); +		exec_failed(path);  	}  } @@ -134,7 +137,6 @@ static void exec_man_konqueror(const char *path, const char *page)  	if (display && *display) {  		char *man_page;  		const char *filename = "kfmclient"; -		char sbuf[STRERR_BUFSIZE];  		/* It's simpler to launch konqueror using kfmclient. */  		if (path) { @@ -155,33 +157,27 @@ static void exec_man_konqueror(const char *path, const char *page)  			execlp(path, filename, "newTab", man_page, NULL);  			free(man_page);  		} -		warning("failed to exec '%s': %s", path, -			str_error_r(errno, sbuf, sizeof(sbuf))); +		exec_failed(path);  	}  }  static void exec_man_man(const char *path, const char *page)  { -	char sbuf[STRERR_BUFSIZE]; -  	if (!path)  		path = "man";  	execlp(path, "man", page, NULL); -	warning("failed to exec '%s': %s", path, -		str_error_r(errno, sbuf, sizeof(sbuf))); +	exec_failed(path);  }  static void exec_man_cmd(const char *cmd, const char *page)  { -	char sbuf[STRERR_BUFSIZE];  	char *shell_cmd;  	if (asprintf(&shell_cmd, "%s %s", cmd, page) > 0) {  		execl("/bin/sh", "sh", "-c", shell_cmd, NULL);  		free(shell_cmd);  	} -	warning("failed to exec '%s': %s", cmd, -		str_error_r(errno, sbuf, sizeof(sbuf))); +	exec_failed(cmd);  }  static void add_man_viewer(const char *name) | 
