Messages in this thread | | | Date | Thu, 13 Feb 2020 11:36:46 +0200 | From | Andy Shevchenko <> | Subject | Re: [PATCH v2] lib/string: update match_string() doc-strings with correct behavior |
| |
On Thu, Feb 13, 2020 at 09:27:22AM +0200, Alexandru Ardelean wrote: > There were a few attempts at changing behavior of the match_string() > helpers (i.e. 'match_string()' & 'sysfs_match_string()'), to change & > extend the behavior according to the doc-string. > > But the simplest approach is to just fix the doc-strings. The current > behavior is fine as-is, and some bugs were introduced trying to fix it. > > As for extending the behavior, new helpers can always be introduced if > needed. > > The match_string() helpers behave more like 'strncmp()' in the sense that > they go up to n elements or until the first NULL element in the array of > strings. > > This change updates the doc-strings with this info.
Thanks, looks good to me now. Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com> > --- > lib/string.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/lib/string.c b/lib/string.c > index f607b967d978..6012c385fb31 100644 > --- a/lib/string.c > +++ b/lib/string.c > @@ -699,6 +699,14 @@ EXPORT_SYMBOL(sysfs_streq); > * @n: number of strings in the array or -1 for NULL terminated arrays > * @string: string to match with > * > + * This routine will look for a string in an array of strings up to the > + * n-th element in the array or until the first NULL element. > + * > + * Historically the value of -1 for @n, was used to search in arrays that > + * are NULL terminated. However, the function does not make a distinction > + * when finishing the search: either @n elements have been compared OR > + * the first NULL element was found. > + * > * Return: > * index of a @string in the @array if matches, or %-EINVAL otherwise. > */ > @@ -727,6 +735,14 @@ EXPORT_SYMBOL(match_string); > * > * Returns index of @str in the @array or -EINVAL, just like match_string(). > * Uses sysfs_streq instead of strcmp for matching. > + * > + * This routine will look for a string in an array of strings up to the > + * n-th element in the array or until the first NULL element. > + * > + * Historically the value of -1 for @n, was used to search in arrays that > + * are NULL terminated. However, the function does not make a distinction > + * when finishing the search: either @n elements have been compared OR > + * the first NULL element was found. > */ > int __sysfs_match_string(const char * const *array, size_t n, const char *str) > { > -- > 2.20.1 >
-- With Best Regards, Andy Shevchenko
| |