Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752306AbbKPORX (ORCPT ); Mon, 16 Nov 2015 09:17:23 -0500 Received: from mail.kernel.org ([198.145.29.136]:43038 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750921AbbKPORV (ORCPT ); Mon, 16 Nov 2015 09:17:21 -0500 Date: Mon, 16 Nov 2015 11:17:18 -0300 From: Arnaldo Carvalho de Melo To: Wang Nan Cc: masami.hiramatsu.pt@hitachi.com, ast@kernel.org, lizefan@huawei.com, pi3orama@163.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 05/13] perf tools: Introduce strtobool() to string.c Message-ID: <20151116141718.GA15169@kernel.org> References: <1447675815-166222-1-git-send-email-wangnan0@huawei.com> <1447675815-166222-6-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1447675815-166222-6-git-send-email-wangnan0@huawei.com> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2609 Lines: 85 Em Mon, Nov 16, 2015 at 12:10:07PM +0000, Wang Nan escreveu: > This patch clones strtobool() from kernel's string.c to perf's string.c, > then add the function entry to tools/perf/util/include/linux/string.h. > > string.h in perf utils doesn't have #ifdef guard. This patch fixes it. > > This is preparation for enforcing BPF program configuration, which > would allow config string like 'inlines=yes'. This is not perf specific at all, we're trying to move stuff out of tools/perf/ so that it becomes generally usable by other tools/ living code, not just perf. I'll move it to where I think it should be and post as a reply to this message. - Arnaldo > Signed-off-by: Wang Nan > Cc: Alexei Starovoitov > Cc: Arnaldo Carvalho de Melo > Cc: Masami Hiramatsu > Cc: Zefan Li > Cc: pi3orama@163.com > --- > tools/perf/util/include/linux/string.h | 5 +++++ > tools/perf/util/string.c | 28 ++++++++++++++++++++++++++++ > 2 files changed, 33 insertions(+) > > diff --git a/tools/perf/util/include/linux/string.h b/tools/perf/util/include/linux/string.h > index 6f19c54..2bb0057 100644 > --- a/tools/perf/util/include/linux/string.h > +++ b/tools/perf/util/include/linux/string.h > @@ -1,3 +1,8 @@ > +#ifndef PERF_LINUX_STRING_H_ > +#define PERF_LINUX_STRING_H_ > #include > > void *memdup(const void *src, size_t len); > + > +int strtobool(const char *s, bool *res); > +#endif > diff --git a/tools/perf/util/string.c b/tools/perf/util/string.c > index fc8781d..c7fd44d 100644 > --- a/tools/perf/util/string.c > +++ b/tools/perf/util/string.c > @@ -396,3 +396,31 @@ out_err_overflow: > free(expr); > return NULL; > } > + > +/** > + * strtobool - convert common user inputs into boolean values > + * @s: input string > + * @res: result > + * > + * This routine returns 0 iff the first character is one of 'Yy1Nn0'. > + * Otherwise it will return -EINVAL. Value pointed to by res is > + * updated upon finding a match. > + */ > +int strtobool(const char *s, bool *res) > +{ > + switch (s[0]) { > + case 'y': > + case 'Y': > + case '1': > + *res = true; > + break; > + case 'n': > + case 'N': > + case '0': > + *res = false; > + break; > + default: > + return -EINVAL; > + } > + return 0; > +} > -- > 1.8.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/