The function c32srtombs is like wcsrtombs, except that it takes a string of char32_t characters instead of wchar_t characters as input. 2020-01-09 Bruno Haible c32srtombs: Add tests. * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c. * tests/test-c32srtombs-1.sh: New file, based on tests/test-wcsrtombs1.sh. * tests/test-c32srtombs-2.sh: New file, based on tests/test-wcsrtombs2.sh. * tests/test-c32srtombs-3.sh: New file, based on tests/test-wcsrtombs3.sh. * tests/test-c32srtombs-4.sh: New file, based on tests/test-wcsrtombs4.sh. * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests. c32srtombs: New module. * lib/uchar.in.h (c32srtombs): New declaration. * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB. * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros. * lib/c32srtombs.c: New file. * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c. * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS. * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS. * modules/c32srtombs: New file. * tests/test-uchar-c++.cc: Test the signature of c32srtombs. * doc/posix-functions/wcsrtombs.texi: Mention the new module.