* lib/mbscasestr.c (mb_equal, knuth_morris_pratt_multibyte, mbscasestr):
* lib/mbscspn.c (mbscspn):
* lib/mbspbrk.c (mbspbrk):
* lib/mbsspn.c (mbsspn):
* lib/mbsstr.c (mb_equal, knuth_morris_pratt_multibyte, mbsstr):
Prefer mcel_eq to mcel_cmp where either will do.
---
 ChangeLog        | 10 ++++++++++
 lib/mbscasestr.c |  6 +++---
 lib/mbscspn.c    |  2 +-
 lib/mbspbrk.c    |  2 +-
 lib/mbsspn.c     |  2 +-
 lib/mbsstr.c     |  8 ++++----
 6 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a1a23a529b..0fcff01f9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2025-11-27  Paul Eggert  <[email protected]>
+
+       mcel: prefer mcel_eq to mcel_cmp if either works
+       * lib/mbscasestr.c (mb_equal, knuth_morris_pratt_multibyte, mbscasestr):
+       * lib/mbscspn.c (mbscspn):
+       * lib/mbspbrk.c (mbspbrk):
+       * lib/mbsspn.c (mbsspn):
+       * lib/mbsstr.c (mb_equal, knuth_morris_pratt_multibyte, mbsstr):
+       Prefer mcel_eq to mcel_cmp where either will do.
+
 2025-11-27  Collin Funk  <[email protected]>
 
        mcel: add mcel_eq.
diff --git a/lib/mbscasestr.c b/lib/mbscasestr.c
index 6a1b59f608..7c43e5eb79 100644
--- a/lib/mbscasestr.c
+++ b/lib/mbscasestr.c
@@ -32,7 +32,7 @@
 #if GNULIB_MCEL_PREFER
 # include "mcel.h"
 typedef mcel_t mbchar_t;
-static bool mb_equal (mcel_t a, mcel_t b) { return mcel_cmp (a, b) == 0; }
+static bool mb_equal (mcel_t a, mcel_t b) { return mcel_eq (a, b); }
 #else
 # include "mbuiter.h"
 #endif
@@ -177,7 +177,7 @@ knuth_morris_pratt_multibyte (const char *haystack, const 
char *needle,
           }
         mcel_t g = mcel_scanz (phaystack);
         g.ch = c32tolower (g.ch);
-        if (mcel_cmp (needle_mbchars[j], g) == 0)
+        if (mcel_eq (needle_mbchars[j], g))
           {
             j++;
             /* Exit loop successfully if the entire needle has been found.  */
@@ -333,7 +333,7 @@ mbscasestr (const char *haystack, const char *needle)
           comparison_count++;
           hg = mcel_scanz (iter_haystack);
           hg.ch = c32tolower (hg.ch);
-          if (mcel_cmp (hg, ng) == 0)
+          if (mcel_eq (hg, ng))
             /* The first character matches.  */
             {
               char const *rhaystack = iter_haystack + hg.len;
diff --git a/lib/mbscspn.c b/lib/mbscspn.c
index 6452cc0aaa..70e0773a79 100644
--- a/lib/mbscspn.c
+++ b/lib/mbscspn.c
@@ -61,7 +61,7 @@ mbscspn (const char *string, const char *accept)
             for (char const *aiter = accept; *aiter; aiter += a.len)
               {
                 a = mcel_scanz (aiter);
-                if (mcel_cmp (g, a) == 0)
+                if (mcel_eq (g, a))
                   return i;
               }
         }
diff --git a/lib/mbspbrk.c b/lib/mbspbrk.c
index 974efe3a29..31db68f18d 100644
--- a/lib/mbspbrk.c
+++ b/lib/mbspbrk.c
@@ -57,7 +57,7 @@ mbspbrk (const char *string, const char *accept)
             for (char const *aiter = accept; *aiter; aiter += a.len)
               {
                 a = mcel_scanz (aiter);
-                if (mcel_cmp (a, g) == 0)
+                if (mcel_eq (a, g))
                   return (char *) iter;
               }
         }
diff --git a/lib/mbsspn.c b/lib/mbsspn.c
index 1658163a53..3d66be1f3b 100644
--- a/lib/mbsspn.c
+++ b/lib/mbsspn.c
@@ -93,7 +93,7 @@ mbsspn (const char *string, const char *reject)
                   if (!*aiter)
                     return i;
                   mcel_t a = mcel_scanz (aiter);
-                  if (mcel_cmp (a, g) == 0)
+                  if (mcel_eq (a, g))
                     break;
                   aiter += a.len;
                 }
diff --git a/lib/mbsstr.c b/lib/mbsstr.c
index fe9cf655c5..9181ec9612 100644
--- a/lib/mbsstr.c
+++ b/lib/mbsstr.c
@@ -31,7 +31,7 @@
 #if GNULIB_MCEL_PREFER
 # include "mcel.h"
 typedef mcel_t mbchar_t;
-static bool mb_equal (mcel_t a, mcel_t b) { return mcel_cmp (a, b) == 0; }
+static bool mb_equal (mcel_t a, mcel_t b) { return mcel_eq (a, b); }
 #else
 # include "mbuiter.h"
 #endif
@@ -168,7 +168,7 @@ knuth_morris_pratt_multibyte (const char *haystack, const 
char *needle,
             break;
           }
         mcel_t g = mcel_scanz (phaystack);
-        if (mcel_cmp (needle_mbchars[j], g) == 0)
+        if (mcel_eq (needle_mbchars[j], g))
           {
             j++;
             /* Exit loop successfully if the entire needle has been found.  */
@@ -313,7 +313,7 @@ mbsstr (const char *haystack, const char *needle)
           outer_loop_count++;
           comparison_count++;
           hg = mcel_scanz (iter_haystack);
-          if (mcel_cmp (hg, ng) == 0)
+          if (mcel_eq (hg, ng))
             /* The first character matches.  */
             {
               char const *rhaystack = iter_haystack + hg.len;
@@ -329,7 +329,7 @@ mbsstr (const char *haystack, const char *needle)
                   rng = mcel_scanz (rneedle); rneedle += rng.len;
                   comparison_count++;
                 }
-              while (mcel_cmp (rhg, rng) == 0);
+              while (mcel_eq (rhg, rng));
             }
         }
 
-- 
2.51.0


Reply via email to