fgetwln.c.patch   [plain text]


--- 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());
+}