Skip to content

Commit

Permalink
perf tools: Do not include escape sequences in color_vfprintf return
Browse files Browse the repository at this point in the history
color_vprintf was including the length of the invisible escape sequences
in its return argument. Don't include them to make the return value
usable for indentation calculations.

v2: Add comment, rebase

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1438649408-20807-3-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Andi Kleen authored and Arnaldo Carvalho de Melo committed Aug 5, 2015
1 parent 8011de7 commit b7a001d
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions tools/perf/util/color.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ static int __color_vsnprintf(char *bf, size_t size, const char *color,
return r;
}

/* Colors are not included in return value */
static int __color_vfprintf(FILE *fp, const char *color, const char *fmt,
va_list args)
{
Expand All @@ -83,10 +84,10 @@ static int __color_vfprintf(FILE *fp, const char *color, const char *fmt,
}

if (perf_use_color_default && *color)
r += fprintf(fp, "%s", color);
fprintf(fp, "%s", color);
r += vfprintf(fp, fmt, args);
if (perf_use_color_default && *color)
r += fprintf(fp, "%s", PERF_COLOR_RESET);
fprintf(fp, "%s", PERF_COLOR_RESET);
return r;
}

Expand Down

0 comments on commit b7a001d

Please sign in to comment.