[PATCH perf/core v2 0/8] perf tools: Update strbuf to remove xrealloc
From: Masami Hiramatsu
Date: Fri Apr 29 2016 - 11:09:50 EST
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.
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