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


Groups > linux.kernel > #1344838

[PATCH 01/19] perf tools: Use asprintf() for simple string formatting/allocation

From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 01/19] perf tools: Use asprintf() for simple string formatting/allocation
Date 2016-02-27 00:30 +0100
Message-ID <r6zZE-2as-25@gated-at.bofh.it> (permalink)
References <r6zPY-26L-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Arnaldo Carvalho de Melo <acme@redhat.com>

No need to use strbuf there, its just a simple alloc+formatting, which
asprintf does just fine.

Cc: Adrian Hunter <adrian.hunter@intel.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-6q6cxfhk8c8ypg3tfpo0i2iy@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/perf.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 144047c396f0..f6321194937f 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -454,11 +454,12 @@ static void handle_internal_command(int argc, const char **argv)
 
 static void execv_dashed_external(const char **argv)
 {
-	struct strbuf cmd = STRBUF_INIT;
+	char *cmd;
 	const char *tmp;
 	int status;
 
-	strbuf_addf(&cmd, "perf-%s", argv[0]);
+	if (asprintf(&cmd, "perf-%s", argv[0]) < 0)
+		goto do_die;
 
 	/*
 	 * argv[0] must be the perf command, but the argv array
@@ -467,7 +468,7 @@ static void execv_dashed_external(const char **argv)
 	 * restore it on error.
 	 */
 	tmp = argv[0];
-	argv[0] = cmd.buf;
+	argv[0] = cmd;
 
 	/*
 	 * if we fail because the command is not found, it is
@@ -475,15 +476,16 @@ static void execv_dashed_external(const char **argv)
 	 */
 	status = run_command_v_opt(argv, 0);
 	if (status != -ERR_RUN_COMMAND_EXEC) {
-		if (IS_RUN_COMMAND_ERR(status))
+		if (IS_RUN_COMMAND_ERR(status)) {
+do_die:
 			die("unable to run '%s'", argv[0]);
+		}
 		exit(-status);
 	}
 	errno = ENOENT; /* as if we called execvp */
 
 	argv[0] = tmp;
-
-	strbuf_release(&cmd);
+	zfree(&cmd);
 }
 
 static int run_argv(int *argcp, const char ***argv)
-- 
2.5.0

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


Thread

[GIT PULL 00/19] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:20 +0100
  [PATCH 04/19] perf script: Exception handling when the print fmt is empty Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:20 +0100
  [PATCH 13/19] perf report: Left align dynamic entries in hierarchy Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:20 +0100
  [PATCH 11/19] perf hists: Fix comparing of dynamic entries Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:20 +0100
  [PATCH 15/19] perf report: Update column width of dynamic entries Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 10/19] perf report: Show message for percent limit on gtk Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 06/19] perf hists: Add more helper functions for the hierarchy mode Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 18/19] perf trace: Call bpf__apply_obj_config in 'perf trace' Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 14/19] perf hists: Fix dynamic entry display in hierarchy Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 03/19] perf tools: Fix parsing of pmu events with empty list of modifiers Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 16/19] perf config: Bring perf_default_config to the very beginning at main() Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 08/19] perf hists browser: Cleanup hist_browser__update_percent_limit() Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 01/19] perf tools: Use asprintf() for simple string formatting/allocation Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 02/19] perf jvmti: improve error message in Makefile Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 19/19] perf trace: Print content of bpf-output event Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 09/19] perf hists browser: Show message for percent limit Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 05/19] perf script: Remove duplicated code and needless script_spec__findnew() Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  [PATCH 07/19] perf report: Show message for percent limit on stdio Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-02-27 00:30 +0100
  Re: [GIT PULL 00/19] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2016-02-27 10:40 +0100

csiph-web