Re: [PATCH] linux/string.h: Introduce streq macro.

From: Steven Rostedt
Date: Wed Apr 27 2011 - 13:49:44 EST


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@xxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/