perf tools: Use asprintf instead of malloc plus snprintf

The asprintf library function is equivalent to malloc plus snprintf so
use it because it is simpler.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1386055390-13757-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Adrian Hunter 2013-12-03 09:23:06 +02:00 committed by Arnaldo Carvalho de Melo
parent 89e3bbd58a
commit d88938ebc9

View file

@ -227,7 +227,6 @@ char *get_srcline(struct dso *dso, unsigned long addr)
unsigned line = 0;
char *srcline;
char *dso_name = dso->long_name;
size_t size;
if (!dso->has_srcline)
return SRCLINE_UNKNOWN;
@ -241,13 +240,7 @@ char *get_srcline(struct dso *dso, unsigned long addr)
if (!addr2line(dso_name, addr, &file, &line))
goto out;
/* just calculate actual length */
size = snprintf(NULL, 0, "%s:%u", file, line) + 1;
srcline = malloc(size);
if (srcline)
snprintf(srcline, size, "%s:%u", file, line);
else
if (asprintf(&srcline, "%s:%u", file, line) < 0)
srcline = SRCLINE_UNKNOWN;
free(file);