1 /* 2 * This code was written by Rich Felker in 2010; no copyright is claimed. 3 * This code is in the public domain. Attribution is appreciated but 4 * unnecessary. 5 */ 6 7 #include <stdlib.h> 8 #include <inttypes.h> 9 #include <wchar.h> 10 #include <errno.h> 11 12 #include "internal.h" 13 mbrlen(const char * restrict s,size_t n,mbstate_t * restrict st)14size_t mbrlen(const char *restrict s, size_t n, mbstate_t *restrict st) 15 { 16 static unsigned internal; 17 return mbrtowc(0, s, n, st ? st : (mbstate_t *)&internal); 18 } 19