+2025-11-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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 <collin.funk1@gmail.com>
mcel: add mcel_eq.
#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
}
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. */
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;
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;
}
}
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;
}
}
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;
}
#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
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. */
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;
rng = mcel_scanz (rneedle); rneedle += rng.len;
comparison_count++;
}
- while (mcel_cmp (rhg, rng) == 0);
+ while (mcel_eq (rhg, rng));
}
}