On Sat, Nov 11, 2023 at 11:54:52PM +0100, Bruno Haible wrote: > > These types are all identical. Therefore you don't even need to cast. > > - char32_t comes from <uchar.h> (ISO C 11 or newer). > - ucs4_t comes from GNU libunistring. > - uint32_t comes from <stdint.h>.
According to your mail https://lists.gnu.org/archive/html/bug-libunistring/2023-11/msg00000.html char32_t is less portable, and indeed, the solaris automatic build sees to fail because of char32_t is not available, while uint32_t and ucs4_t are necessarily present with libunistring unless I issed something. So it would probably be more portable to use uint32_t/ucs4_t, though it may be less practical if a conversion is needed before they can be used. -- Pat