lib/string.c: simplify strnstr()
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Cc: Li Zefan <lizf@cn.fujitsu.com> Cc: Joe Perches <joe@perches.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
a11d2b64e1
Коммит
d6a2eedfdd
|
@ -689,13 +689,13 @@ EXPORT_SYMBOL(strstr);
|
||||||
*/
|
*/
|
||||||
char *strnstr(const char *s1, const char *s2, size_t len)
|
char *strnstr(const char *s1, const char *s2, size_t len)
|
||||||
{
|
{
|
||||||
size_t l1 = len, l2;
|
size_t l2;
|
||||||
|
|
||||||
l2 = strlen(s2);
|
l2 = strlen(s2);
|
||||||
if (!l2)
|
if (!l2)
|
||||||
return (char *)s1;
|
return (char *)s1;
|
||||||
while (l1 >= l2) {
|
while (len >= l2) {
|
||||||
l1--;
|
len--;
|
||||||
if (!memcmp(s1, s2, l2))
|
if (!memcmp(s1, s2, l2))
|
||||||
return (char *)s1;
|
return (char *)s1;
|
||||||
s1++;
|
s1++;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче