Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933065Ab1D0Rtl (ORCPT ); Wed, 27 Apr 2011 13:49:41 -0400 Received: from hrndva-omtalb.mail.rr.com ([71.74.56.124]:48576 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932883Ab1D0Rtk (ORCPT ); Wed, 27 Apr 2011 13:49:40 -0400 X-Authority-Analysis: v=1.1 cv=pN6kzQkhXdmdOr6Akjoh3kGBD/S3UyPMKQp53EJY+ro= c=1 sm=0 a=i38SgkEfDKkA:10 a=5SG0PmZfjMsA:10 a=Q9fys5e9bTEA:10 a=OPBmh+XkhLl+Enan7BmTLg==:17 a=gu6fZOg2AAAA:8 a=pGLkceISAAAA:8 a=6Rb6yGDm6vFOShMGLJgA:9 a=h9KaHbzulg167PH0roUA:7 a=PUjeQqilurYA:10 a=MSl-tDqOz04A:10 a=OPBmh+XkhLl+Enan7BmTLg==:117 X-Cloudmark-Score: 0 X-Originating-IP: 67.242.120.143 Subject: Re: [PATCH] linux/string.h: Introduce streq macro. From: Steven Rostedt To: Thiago Farina Cc: linux-kernel@vger.kernel.org, Alexey Dobriyan , Rusty Russell , Ingo Molnar , "David S. Miller" , Al Viro , "Ted Ts'o" , Christoph Hellwig , "H. Peter Anvin" In-Reply-To: References: Content-Type: text/plain; charset="ISO-8859-15" Date: Wed, 27 Apr 2011 13:49:36 -0400 Message-ID: <1303926576.18763.75.camel@gandalf.stny.rr.com> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1776 Lines: 59 On Tue, 2011-04-26 at 16:45 -0300, Thiago Farina wrote: > This macro is arguably more readable than its variants: > - !strcmp(a, b) > - strcmp(a, b) == 0 Actually, this was proposed way back in 2002 my Rusty and I did not see anyone arguing against it. I wonder why it never was incorporated back then? http://marc.info/?l=linux-kernel&m=103284339813100&w=2 [ added Cc's of some of those that replied to this thread ] -- Steve > Signed-off-by: Thiago Farina > --- > Changes from v1 (Steven and Alexey review): > - Convert from macro to static inline. > - Remove the example. > - Add the suggested comment by Steven. > > include/linux/string.h | 15 +++++++++++++++ > 1 files changed, 15 insertions(+), 0 deletions(-) > > diff --git a/include/linux/string.h b/include/linux/string.h > index a716ee2..d859bb2 100644 > --- a/include/linux/string.h > +++ b/include/linux/string.h > @@ -134,6 +134,21 @@ extern ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos, > const void *from, size_t available); > > /** > + * streq - Are two strings equal? > + * @a: first string > + * @b: second string > + * > + * Use: streq(a, b) > + * Instead of: strcmp(a, b) == 0 or !strcmp(a, b) > + * > + * This makes the code more readable and less error prone. > + */ > +static inline int streq(const char *a, const char *b) > +{ > + return strcmp(a, b) == 0; > +} > + > +/** > * strstarts - does @str start with @prefix? > * @str: string to examine > * @prefix: prefix to look for. -- 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/