Messages in this thread | | | Subject | Re: [PATCH] linux/string.h: Introduce streq macro. | From | Steven Rostedt <> | Date | Wed, 27 Apr 2011 13:49:36 -0400 |
| |
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 <tfransosi@gmail.com> > --- > 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.
| |