Branch

  • Show log

    Commit

  • Hash : 910fc17e
    Author : Bruno Haible
    Date : 2025-02-09T11:27:56

    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.