Update.
* sysdeps/generic/strncase.c: Likewise.
This commit is contained in:
parent
c7b4c95cd1
commit
f5e6e2ee30
@ -2,6 +2,7 @@
|
||||
|
||||
* sysdeps/generic/strcasecmp.c (__strcasecmp): Little performance
|
||||
patch.
|
||||
* sysdeps/generic/strncase.c: Likewise.
|
||||
|
||||
2001-12-05 Geoff Keating <geoffk@redhat.com>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Compare at most N characters of two strings without taking care for
|
||||
the case.
|
||||
Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1996, 1997, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -58,20 +58,16 @@ __strncasecmp (s1, s2, n LOCALE_PARAM)
|
||||
{
|
||||
const unsigned char *p1 = (const unsigned char *) s1;
|
||||
const unsigned char *p2 = (const unsigned char *) s2;
|
||||
unsigned char c1, c2;
|
||||
int result;
|
||||
|
||||
if (p1 == p2 || n == 0)
|
||||
return 0;
|
||||
|
||||
do
|
||||
{
|
||||
c1 = TOLOWER (*p1++);
|
||||
c2 = TOLOWER (*p2++);
|
||||
if (c1 == '\0' || c1 != c2)
|
||||
return c1 - c2;
|
||||
} while (--n > 0);
|
||||
while ((result = TOLOWER (*p1) - TOLOWER (*p2++)) == 0)
|
||||
if (*p1++ == '\0' || --n == 0)
|
||||
break;
|
||||
|
||||
return c1 - c2;
|
||||
return result;
|
||||
}
|
||||
#ifndef __strncasecmp
|
||||
weak_alias (__strncasecmp, strncasecmp)
|
||||
|
Loading…
Reference in New Issue
Block a user