Messages in this thread | | | From | "Ardelean, Alexandru" <> | Subject | Re: [PATCH] lib/string: update match_string() doc-strings with correct behavior | Date | Thu, 13 Feb 2020 07:09:49 +0000 |
| |
On Wed, 2020-02-12 at 18:46 +0200, Andy Shevchenko wrote: > [External] > > On Wed, Feb 12, 2020 at 04:47:23PM +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. > > > > Some references to the previous attempts (in no particular order): > > > > https://lore.kernel.org/lkml/20190508111913.7276-1-alexandru.ardelean@analog.com/ > > > > https://lore.kernel.org/lkml/20190625130104.29904-1-alexandru.ardelean@analog.com/ > > > > https://lore.kernel.org/lkml/20190422083257.21805-1-alexandru.ardelean@analog.com/ > > ... > > > /** > > * match_string - matches given string in an array > > * @array: array of strings > > - * @n: number of strings in the array or -1 for NULL terminated > > arrays > > + * @n: number of strings in the array to compare > > But this change won't be helpful, it actually hides the part of behaviour that > is being used. > > > * @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. > > + * > > Perhaps this needs to be rephrased. Because now it has completely hidden the > -1 case.
Hmm, it does make sense to specify the -1 behavior purely for historical purposes. Otheriwse, I don't feel it's that important to mention it, since you could technically specify UINT_MAX [or similar] and get the same behavior.
> > > * Return: > > * index of a @string in the @array if matches, or %-EINVAL otherwise. > > */ > > Ditto for the second part. >
| |