Loading...
stdio/FreeBSD/fputws.c Libc-498 Libc-763.12
--- Libc/Libc-498/stdio/FreeBSD/fputws.c
+++ Libc/Libc-763.12/stdio/FreeBSD/fputws.c
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fputws.c,v 1.6 2004/07/21 10:54:57 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fputws.c,v 1.8 2009/01/15 18:53:52 rdivacky Exp $");
 
 #include "namespace.h"
 #include <errno.h>
@@ -45,6 +45,7 @@
 	char buf[BUFSIZ];
 	struct __suio uio;
 	struct __siov iov;
+	const wchar_t *wsp;
 
 	FLOCKFILE(fp);
 	ORIENT(fp, 1);
@@ -54,8 +55,9 @@
 	uio.uio_iovcnt = 1;
 	iov.iov_base = buf;
 	do {
-		nbytes = __wcsnrtombs(buf, &ws, SIZE_T_MAX, sizeof(buf),
-		    &fp->_extra->mbstate);
+		wsp = ws;
+		nbytes = __wcsnrtombs(buf, &wsp, SIZE_T_MAX, sizeof(buf),
+		    &fp->_mbstate);
 		if (nbytes == (size_t)-1)
 			goto error;
 		iov.iov_len = uio.uio_resid = nbytes;