Thread (20 messages) 20 messages, 8 authors, 2016-01-11

Re: [PATCH v1 1/8] lib/string: introduce match_string() helper

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2016-01-08 08:45:03
Also in: lkml

On Fri, 2016-01-08 at 09:13 +0900, Sergey Senozhatsky wrote:
On (01/07/16 14:06), Andy Shevchenko wrote:
quoted
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.
Like I answered to Rasmus, please, provide real examples.
quoted
+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'.
Agreed. I would change it to plain 'n'.
quoted
+{
+	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));
}
See above.

-- 
Andy Shevchenko [off-list ref]
Intel Finland Oy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help