]> git.wh0rd.org Git - nano.git/commitdiff
in nstrncasecmp() and mbstrncasecmp(), for efficiency, return zero
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Sun, 1 Jul 2007 21:46:00 +0000 (21:46 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Sun, 1 Jul 2007 21:46:00 +0000 (21:46 +0000)
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

ChangeLog
src/chars.c

index 66e01bbcdc0ba25a5c212d8881671dde67045268..4dc67f4aebb52604d37a9e8b07eb8162c3e3b702 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
        * prompt.c (do_yesno_prompt): Remove redundant check for
index 85ea80a4e7c14bc7a43ee542e93fd19fb09e1243..9a79065a8eac45b8fbaefe4224def478224f604c 100644 (file)
@@ -506,6 +506,9 @@ int mbstrcasecmp(const char *s1, const char *s2)
 /* This function is equivalent to strncasecmp(). */
 int nstrncasecmp(const char *s1, const char *s2, size_t n)
 {
+    if (s1 == s2)
+       return 0;
+
     assert(s1 != NULL && s2 != NULL);
 
     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;
        wchar_t ws1, ws2;
 
+       if (s1 == s2)
+           return 0;
+
        assert(s1 != NULL && s2 != NULL);
 
        s1_mb = charalloc(MB_CUR_MAX);