01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
return __mbrtowc (NULL, s, n, ps ?: &internal);
fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
/* Do a normal conversion. */
inbuf = (const unsigned char *) s;
endbuf = inbuf + n;
if (__builtin_expect (endbuf < inbuf, 0))
endbuf = (const unsigned char *) ~(uintptr_t) 0;
status = DL_CALL_FCT (fcts->towc->__fct,
(fcts->towc, &data, &inbuf, endbuf,
NULL, &dummy, 0, 1));