mbrtoc16
size_t mbrtoc16(char16_t * __restrict, const char * __restrict, size_t,
__mbstate_t mbrtoc16;
ps = &(XLOCALE_CTYPE(locale)->mbrtoc16);
#define mbrtocXX mbrtoc16
memset(&l->mbrtoc16, 0, sizeof(l->mbrtoc16));
ATF_REQUIRE(mbrtoc16(&c16, "\xa4", 1, &s) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "\xa4", 1, &s) == 1);
ATF_REQUIRE(mbrtoc16(NULL, 0, 0, NULL) == 0);
ATF_REQUIRE(mbrtoc16(&c16, "", 1, NULL) == 0);
ATF_REQUIRE(mbrtoc16(&c16, "", 1, &s) == 0);
ATF_REQUIRE(mbrtoc16(NULL, 0, 0, NULL) == 0);
ATF_REQUIRE(mbrtoc16(&c16, "A", 1, NULL) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "A", 1, &s) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
ATF_REQUIRE(mbrtoc16(&c16, "\xc3", 1, &s) == (size_t)-2);
ATF_REQUIRE(mbrtoc16(&c16, "\xc3\x84", 2, &s) == 2);
ATF_REQUIRE(mbrtoc16(&c16, "\xc3", 1, &s) == (size_t)-2);
ATF_REQUIRE(mbrtoc16(&c16, "\xb7", 1, &s) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "\xf0\x9f\x92\xa9", 4, &s) == 4);
ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-3);
ATF_REQUIRE(mbrtoc16(&c16, "\xc3\xa9", 2, &s) == 2);
ATF_REQUIRE(mbrtoc16(&c16, "\x65\xcc\x81", 3, &s) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "\xcc\x81", 2, &s) == 2);
ATF_REQUIRE(mbrtoc16(&c16, "", 1, NULL) == 0);
ATF_REQUIRE(mbrtoc16(&c16, "", 1, &s) == 0);
ATF_REQUIRE(mbrtoc16(NULL, 0, 0, NULL) == 0);
ATF_REQUIRE(mbrtoc16(&c16, "A", 1, NULL) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "A", 1, &s) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
ATF_REQUIRE(mbrtoc16(&c16, "AB", 2, &s) == 1);
ATF_REQUIRE(mbrtoc16(&c16, "C", 1, &s) == 1);