Re: [PATCH v1 1/8] lib/string: introduce match_string() helper
From: Sergey Senozhatsky
Date: Thu Jan 07 2016 - 19:12:26 EST
On (01/07/16 14:06), Andy Shevchenko wrote:
>
> From time to time we have to match a string in an array. Make a simple helper
> for that purpose.
>
Hello,
strncmp() case seems to be quite common.
> +int match_string(const char * const *array, size_t len, const char *string)
^^^^^^^
a nitpick, [to me] `len' looks a bit confusing, usually it's array 'size'.
> +{
> + int index = 0;
> + const char *item;
> +
> + do {
> + item = array[index];
> + if (!item)
> + break;
> + if (!strcmp(item, string))
> + return index;
> + } while (++index < len || !len);
> +
> + return -ENODATA;
> +}
do you want to do something like this:
/*
* hm, how to name this thing... nmatch_string() or match_nstring()...
* nmatch_string() _probably_ better, match_nstring() is totally cryptic.
*/
int nmatch_string(array, array_size, string, string_len)
{
do {
strncmp();
} while ();
}
int match_string(array, array_size, string)
{
return nmatch_string(array, array_size, string, strlen(string));
}
-ss