--- fgetwln.c.orig 2005-09-14 19:51:14.000000000 -0700 +++ fgetwln.c 2005-09-14 19:53:18.000000000 -0700 @@ -35,7 +35,7 @@ #include "local.h" wchar_t * -fgetwln(FILE * __restrict fp, size_t *lenp) +fgetwln_l(FILE * __restrict fp, size_t *lenp, locale_t loc) { wint_t wc; size_t len; @@ -44,7 +44,7 @@ ORIENT(fp, 1); len = 0; - while ((wc = __fgetwc(fp)) != WEOF) { + while ((wc = __fgetwc(fp, loc)) != WEOF) { #define GROW 512 if (len * sizeof(wchar_t) >= fp->_lb._size && __slbexpand(fp, (len + GROW) * sizeof(wchar_t))) @@ -65,3 +65,9 @@ *lenp = 0; return (NULL); } + +wchar_t * +fgetwln(FILE * __restrict fp, size_t *lenp) +{ + return fgetwln_l(fp, lenp, __current_locale()); +}