size_t mbrlen_l(const char *s, size_t n, mbstate_t *ps, locale_t loc);
mbrlen_l function is equivalent to the call:
mbrtowc_l(NULL, s, n, ps != NULL ? ps : &internal, loc);
where internal is the mbstate_t object for the mbrlen function, except that the expression designated by ps is evaluated only once.