* lib/streq-opt.h: Renamed from lib/streq.h.
* modules/streq-opt: Renamed from modules/streq.
* NEWS: Mention the change.
* lib/c32is-impl.h: Include streq-opt.h instead of streq.h.
* lib/c32to-impl.h: Likewise.
* lib/c32rtomb.c: Likewise.
* lib/c32width.c: Likewise.
* lib/lc-charset-dispatch.c: Likewise.
* lib/lc-charset-unicode.c: Likewise.
* lib/mbrtoc32.c: Likewise.
* lib/uniwidth/cjk.h: Likewise.
* lib/wcwidth.c: Likewise.
* modules/c32is* (Depends-on): Add streq-opt. Remove streq.
* modules/c32to* (Depends-on): Likewise.
* modules/c32rtomb (Depends-on): Likewise.
* modules/mbrtoc32 (Depends-on): Likewise.
* modules/mbrtowc (Depends-on): Likewise.
* modules/uchar-h-c23 (Depends-on): Likewise.
* modules/unilbrk/u*-possible-linebreaks (Depends-on): Likewise.
* modules/uniwidth/width (Depends-on): Likewise.
* modules/wcwidth (Depends-on): Likewise.
* MODULES.html.sh: Update.
+2026-02-21 Bruno Haible <bruno@clisp.org>
+
+ streq: Rename to streq-opt.
+ * lib/streq-opt.h: Renamed from lib/streq.h.
+ * modules/streq-opt: Renamed from modules/streq.
+ * NEWS: Mention the change.
+ * lib/c32is-impl.h: Include streq-opt.h instead of streq.h.
+ * lib/c32to-impl.h: Likewise.
+ * lib/c32rtomb.c: Likewise.
+ * lib/c32width.c: Likewise.
+ * lib/lc-charset-dispatch.c: Likewise.
+ * lib/lc-charset-unicode.c: Likewise.
+ * lib/mbrtoc32.c: Likewise.
+ * lib/uniwidth/cjk.h: Likewise.
+ * lib/wcwidth.c: Likewise.
+ * modules/c32is* (Depends-on): Add streq-opt. Remove streq.
+ * modules/c32to* (Depends-on): Likewise.
+ * modules/c32rtomb (Depends-on): Likewise.
+ * modules/mbrtoc32 (Depends-on): Likewise.
+ * modules/mbrtowc (Depends-on): Likewise.
+ * modules/uchar-h-c23 (Depends-on): Likewise.
+ * modules/unilbrk/u*-possible-linebreaks (Depends-on): Likewise.
+ * modules/uniwidth/width (Depends-on): Likewise.
+ * modules/wcwidth (Depends-on): Likewise.
+ * MODULES.html.sh: Update.
+
2026-02-20 Bruno Haible <bruno@clisp.org>
csharpcomp: Use str_endswith.
func_module strcasestr
func_module strcasestr-simple
func_module strchrnul
- func_module streq
+ func_module streq-opt
func_module strerrorname_np
func_module strerror_r-posix
func_module string-buffer
Date Modules Changes
+2026-02-21 streq This module is renamed to 'streq-opt'. Its include
+ file is renamed from "streq.h" to "streq-opt.h".
+
2025-12-04 issymlinkat The include file is changed from "issymlink.h" to
"issymlinkat.h".
#if GNULIB_defined_mbstate_t
# include "localcharset.h"
-# include "streq.h"
+# include "streq-opt.h"
#endif
#if GL_CHAR32_T_IS_UNICODE
#include "attribute.h" /* FALLTHROUGH */
#include "localcharset.h"
-#include "streq.h"
+#include "streq-opt.h"
#if GL_CHAR32_T_IS_UNICODE
# include "lc-charset-unicode.h"
#if GNULIB_defined_mbstate_t
# include "localcharset.h"
-# include "streq.h"
+# include "streq-opt.h"
#endif
#if GL_CHAR32_T_IS_UNICODE
#endif
#if GNULIB_defined_mbstate_t
-# include "streq.h"
+# include "streq-opt.h"
#endif
#include "localcharset.h"
#if GNULIB_defined_mbstate_t
# include "localcharset.h"
-# include "streq.h"
+# include "streq-opt.h"
# if GNULIB_WCHAR_SINGLE_LOCALE
/* When we know that the locale does not change, provide a speedup by
# include <wchar.h>
# include "localcharset.h"
-# include "streq.h"
+# include "streq-opt.h"
# include "glthread/once.h"
# include "glthread/tls.h"
# include "unistr.h"
# include <wchar.h>
# include "localcharset.h"
-# include "streq.h"
+# include "streq-opt.h"
# if MBRTOC32_IN_C_LOCALE_MAYBE_EILSEQ
# include "hard-locale.h"
/* Written by Bruno Haible <bruno@clisp.org>. */
-#ifndef _GL_STREQ_H
-#define _GL_STREQ_H
+#ifndef _GL_STREQ_OPT_H
+#define _GL_STREQ_OPT_H
#include <string.h>
}
#endif
-#endif /* _GL_STREQ_H */
+#endif /* _GL_STREQ_OPT_H */
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-#include "streq.h"
+#include "streq-opt.h"
static int
is_cjk_encoding (const char *encoding)
#include <wctype.h>
#include "localcharset.h"
-#include "streq.h"
+#include "streq-opt.h"
#include "uniwidth.h"
/* Returns 1 if the current locale is an UTF-8 locale, 0 otherwise. */
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-alnum
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-alpha
assert-h
wctype-h
iswblank
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-blank
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-cntrl
assert-h
wctype-h
iswdigit
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-digit
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-graph
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-lower
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-print
assert-h
wctype-h
iswpunct
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-punct
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-space
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-upper
assert-h
wctype-h
iswxdigit
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unictype/ctype-xdigit
assert-h
wchar-h [test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1]
wcrtomb [test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1]
localcharset [{ test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1; } && test $SMALL_WCHAR_T = 1]
-streq [{ test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1; } && test $SMALL_WCHAR_T = 1]
+streq-opt [{ test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1; } && test $SMALL_WCHAR_T = 1]
configure.ac:
gl_FUNC_C32RTOMB
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unicase/tolower
assert-h
wchar-h
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
-streq [test $REPLACE_MBSTATE_T = 1]
+streq-opt [test $REPLACE_MBSTATE_T = 1]
unicase/toupper
assert-h
mbszero [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
assert-h [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
localcharset [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
-streq [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
+streq-opt [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
configure.ac:
gl_FUNC_MBRTOC32
mbsinit [{ test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; } && test $REPLACE_MBSTATE_T = 0]
assert-h [test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1]
localcharset [test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1]
-streq [test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1]
+streq-opt [test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1]
configure.ac:
gl_FUNC_MBRTOWC
Optimized string comparison.
Files:
-lib/streq.h
+lib/streq-opt.h
Depends-on:
stringeq
Makefile.am:
Include:
-"streq.h"
+"streq-opt.h"
License:
LGPLv2+
wchar-h
iconv
localcharset
-streq
+streq-opt
once
tls
mbszero
unilbrk/base
unilbrk/tables
unistr/u16-mbtouc-unsafe
-streq
+streq-opt
configure.ac:
gl_LIBUNISTRING_MODULE([1.4], [unilbrk/u16-possible-linebreaks])
Depends-on:
unilbrk/base
unilbrk/tables
-streq
+streq-opt
configure.ac:
gl_LIBUNISTRING_MODULE([1.4], [unilbrk/u32-possible-linebreaks])
unilbrk/base
unilbrk/tables
unistr/u8-mbtouc-unsafe
-streq
+streq-opt
configure.ac:
gl_LIBUNISTRING_MODULE([1.4], [unilbrk/u8-possible-linebreaks])
Depends-on:
uniwidth/base
-streq
+streq-opt
configure.ac:
gl_LIBUNISTRING_MODULE([1.4], [uniwidth/width])
extensions
wctype-h [test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1]
localcharset [test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1]
-streq [test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1]
+streq-opt [test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1]
uniwidth/width [test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1]
configure.ac: