in nstrncasecmp() and mbstrncasecmp(), for efficiency, return zero

immediately if s1 and s2 point to the same string


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4121 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2007-07-01 21:46:00 +00:00
parent 1904f51fb5
commit 444f802d58
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2007-07-01 David Lawrence Ramsey <pooka109@gmail.com>
* chars.c (nstrncasecmp, mbstrncasecmp): For efficiency, return
zero immediately if s1 and s2 point to the same string.
2007-06-30 David Lawrence Ramsey <pooka109@gmail.com> 2007-06-30 David Lawrence Ramsey <pooka109@gmail.com>
* prompt.c (do_yesno_prompt): Remove redundant check for * prompt.c (do_yesno_prompt): Remove redundant check for

View File

@ -506,6 +506,9 @@ int mbstrcasecmp(const char *s1, const char *s2)
/* This function is equivalent to strncasecmp(). */ /* This function is equivalent to strncasecmp(). */
int nstrncasecmp(const char *s1, const char *s2, size_t n) int nstrncasecmp(const char *s1, const char *s2, size_t n)
{ {
if (s1 == s2)
return 0;
assert(s1 != NULL && s2 != NULL); assert(s1 != NULL && s2 != NULL);
for (; *s1 != '\0' && *s2 != '\0' && n > 0; s1++, s2++, n--) { for (; *s1 != '\0' && *s2 != '\0' && n > 0; s1++, s2++, n--) {
@ -526,6 +529,9 @@ int mbstrncasecmp(const char *s1, const char *s2, size_t n)
char *s1_mb, *s2_mb; char *s1_mb, *s2_mb;
wchar_t ws1, ws2; wchar_t ws1, ws2;
if (s1 == s2)
return 0;
assert(s1 != NULL && s2 != NULL); assert(s1 != NULL && s2 != NULL);
s1_mb = charalloc(MB_CUR_MAX); s1_mb = charalloc(MB_CUR_MAX);