Re: [PATCH perf/core v2 0/8] perf tools: Update strbuf to remove xrealloc

From: Arnaldo Carvalho de Melo
Date: Fri Apr 29 2016 - 11:14:39 EST


Em Sat, Apr 30, 2016 at 12:09:41AM +0900, Masami Hiramatsu escreveu:
> Hi Arnaldo,
>
> Here is the 2nd version of the strbuf update, and just rebased on
> the latest perf/core :) In order to avoid confusion, I've added
> v2 on tag.
>
> This patch series does refactoring strbuf and xrealloc related code
> to remove xrealloc since it can call die() to exit immediately when
> it hits any error. Instead of that, it should return error code to
> the caller so that the caller can handle its error.
>
> Thus, at first, this changes the strbuf APIs to return error code
> instead of die() immediately. And then changing API callers according
> to the following rules.
> - Check the return value of strbuf APIs and handle errors and,
> - If the caller returns an error code (errno), it returns
> the return value of strbuf APIs.
> - If the caller just return -1 or NULl in error case, it also
> returns -1 or NULL in case of strbuf error.
> - If the caller can call die() directly, it also call die()
> in case of strbuf error.
> - Error checking patches are splitted for each subcommand, since
> it will help review.
>
> This also removes xrealloc and ALLOC_GROW from libperf, so that no
> one use it anymore.

Thanks a lot, I'll try reviewing this this weekend,

- Arnaldo

> Thank you,
>
> ---
>
> Masami Hiramatsu (8):
> perf: Rewrite strbuf not to die
> perf probe: Check the return value of strbuf APIs
> perf help: Make check_emacsclient_version to check strbuf APIs
> perf: Make alias handler to check return value of strbuf
> perf header: Make topology checkers to check return value of strbuf
> perf pmu: Make pmu_formats_string to check return value of strbuf
> perf help: Do not use ALLOC_GROW in add_cmd_list
> perf tools: Remove xrealloc and ALLOC_GROW
>
>
> tools/perf/builtin-help.c | 18 ++--
> tools/perf/perf.c | 8 +-
> tools/perf/util/Build | 1
> tools/perf/util/cache.h | 19 -----
> tools/perf/util/dwarf-aux.c | 50 +++++-------
> tools/perf/util/header.c | 31 +++++---
> tools/perf/util/help-unknown-cmd.c | 30 +++++--
> tools/perf/util/pmu.c | 10 +-
> tools/perf/util/probe-event.c | 146 +++++++++++++++++++++---------------
> tools/perf/util/probe-finder.c | 30 ++++---
> tools/perf/util/quote.c | 36 +++++----
> tools/perf/util/quote.h | 2
> tools/perf/util/strbuf.c | 93 +++++++++++++++++------
> tools/perf/util/strbuf.h | 25 ++++--
> tools/perf/util/util.h | 6 -
> tools/perf/util/wrapper.c | 29 -------
> 16 files changed, 291 insertions(+), 243 deletions(-)
> delete mode 100644 tools/perf/util/wrapper.c
>
> --
> Masami Hiramatsu