]> Savannah Git Hosting - gnulib.git/commit
unistr, unigbrk: Use const-improved function macros for 30 functions.
authorBruno Haible <bruno@clisp.org>
Sun, 9 Feb 2025 10:27:56 +0000 (11:27 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 9 Feb 2025 10:29:53 +0000 (11:29 +0100)
commit910fc17ebb8b3425416cea62fb84091618d75db9
treecc779b41d52596d13f5a5ed39b107bcaf5609bad
parent492362d146fa3a374f623a18a5a0b5b8982d3a67
unistr, unigbrk: Use const-improved function macros for 30 functions.

Reported by Kang-Che Sung <explorer09@gmail.com> in
<https://lists.gnu.org/archive/html/bug-libunistring/2025-02/msg00000.html>.

* lib/unistr.in.h (u*_check, u*_next, u*_prev): Define as macros that
cast the result to a non-const pointer when the argument is a non-const
pointer.
(u*_chr, u*_strchr, u*_strrchr, u*_strpbrk, u*_strstr): Define as macros
that cast the result to a const pointer when the argument is a const
pointer.
* lib/unistr/u8-check.c: Define _LIBUNISTRING_NO_CONST_GENERICS.
* lib/unistr/u16-check.c: Likewise.
* lib/unistr/u32-check.c: Likewise.
* lib/unistr/u8-next.c: Likewise.
* lib/unistr/u16-next.c: Likewise.
* lib/unistr/u32-next.c: Likewise.
* lib/unistr/u8-prev.c: Likewise.
* lib/unistr/u16-prev.c: Likewise.
* lib/unistr/u32-prev.c: Likewise.
* lib/unistr/u8-chr.c: Likewise.
* lib/unistr/u16-chr.c: Likewise.
* lib/unistr/u32-chr.c: Likewise.
* lib/unistr/u8-strchr.c: Likewise.
* lib/unistr/u16-strchr.c: Likewise.
* lib/unistr/u32-strchr.c: Likewise.
* lib/unistr/u8-strrchr.c: Likewise.
* lib/unistr/u16-strrchr.c: Likewise.
* lib/unistr/u32-strrchr.c: Likewise.
* lib/unistr/u8-strpbrk.c: Likewise.
* lib/unistr/u16-strpbrk.c: Likewise.
* lib/unistr/u32-strpbrk.c: Likewise.
* lib/unistr/u8-strstr.c: Likewise.
* lib/unistr/u16-strstr.c: Likewise.
* lib/unistr/u32-strstr.c: Likewise.
* lib/unigbrk.in.h (u*_grapheme_next, u*_grapheme_prev): Define as
macros that cast the result to a non-const pointer when the argument is
a non-const pointer.
* lib/unigbrk/u8-grapheme-next.c: Define _LIBUNISTRING_NO_CONST_GENERICS.
* lib/unigbrk/u16-grapheme-next.c: Likewise.
* lib/unigbrk/u32-grapheme-next.c: Likewise.
* lib/unigbrk/u8-grapheme-prev.c: Likewise.
* lib/unigbrk/u16-grapheme-prev.c: Likewise.
* lib/unigbrk/u32-grapheme-prev.c: Likewise.
33 files changed:
ChangeLog
lib/unigbrk.in.h
lib/unigbrk/u16-grapheme-next.c
lib/unigbrk/u16-grapheme-prev.c
lib/unigbrk/u32-grapheme-next.c
lib/unigbrk/u32-grapheme-prev.c
lib/unigbrk/u8-grapheme-next.c
lib/unigbrk/u8-grapheme-prev.c
lib/unistr.in.h
lib/unistr/u16-check.c
lib/unistr/u16-chr.c
lib/unistr/u16-next.c
lib/unistr/u16-prev.c
lib/unistr/u16-strchr.c
lib/unistr/u16-strpbrk.c
lib/unistr/u16-strrchr.c
lib/unistr/u16-strstr.c
lib/unistr/u32-check.c
lib/unistr/u32-chr.c
lib/unistr/u32-next.c
lib/unistr/u32-prev.c
lib/unistr/u32-strchr.c
lib/unistr/u32-strpbrk.c
lib/unistr/u32-strrchr.c
lib/unistr/u32-strstr.c
lib/unistr/u8-check.c
lib/unistr/u8-chr.c
lib/unistr/u8-next.c
lib/unistr/u8-prev.c
lib/unistr/u8-strchr.c
lib/unistr/u8-strpbrk.c
lib/unistr/u8-strrchr.c
lib/unistr/u8-strstr.c