Re: [PATCH 2/6] perf-probe: rewrite show_one_line() to make it simpler

From: Masami Hiramatsu
Date: Tue Dec 21 2010 - 03:55:46 EST


(2010/12/20 23:18), Franck Bui-Huu wrote:
> From: Franck Bui-Huu <fbuihuu@xxxxxxxxx>

Please explain what this patch will do...

>
> Signed-off-by: Franck Bui-Huu <fbuihuu@xxxxxxxxx>
> ---
> tools/perf/util/probe-event.c | 29 +++++++++++------------------
> 1 files changed, 11 insertions(+), 18 deletions(-)
>
> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> index 6fa0403..5cc8f6b 100644
> --- a/tools/perf/util/probe-event.c
> +++ b/tools/perf/util/probe-event.c
> @@ -300,28 +300,21 @@ static int get_real_path(const char *raw_path, const char *comp_dir,
> static int show_one_line(FILE *fp, int l, bool skip, bool show_num)
> {
> char buf[LINEBUF_SIZE];
> - const char *color = PERF_COLOR_BLUE;
> + const char *color = show_num ? "" : PERF_COLOR_BLUE;
> + const char *prefix = NULL;
>
> - if (fgets(buf, LINEBUF_SIZE, fp) == NULL)
> - goto error;
> - if (!skip) {
> - if (show_num)
> - fprintf(stdout, "%7d %s", l, buf);
> - else
> - color_fprintf(stdout, color, " %s", buf);
> - }
> -
> - while (strlen(buf) == LINEBUF_SIZE - 1 &&
> - buf[LINEBUF_SIZE - 2] != '\n') {
> + do {
> if (fgets(buf, LINEBUF_SIZE, fp) == NULL)
> goto error;
> - if (!skip) {
> - if (show_num)
> - fprintf(stdout, "%s", buf);
> - else
> - color_fprintf(stdout, color, "%s", buf);
> + if (skip)
> + continue;
> + if (!prefix) {
> + prefix = show_num ? "%7d " : " ";
> + fprintf(stdout, prefix, l);

Could you use color_fprintf() here too?
I know currently it's meaningless, but from the view of maintaining,
it's better to use same function.

Thank you,

> }
> - }
> + color_fprintf(stdout, color, "%s", buf);
> +
> + } while (strchr(buf, '\n') == NULL);
>
> return 0;
> error:


--
Masami HIRAMATSU
2nd Dept. Linux Technology Center
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/