about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog35
-rw-r--r--argp/argp-fmtstream.c8
-rw-r--r--argp/argp-help.c8
-rw-r--r--assert/assert-perr.c2
-rw-r--r--assert/assert.c2
-rw-r--r--gmon/gmon.c1
-rw-r--r--include/stdio.h4
-rw-r--r--inet/rcmd.c28
-rw-r--r--malloc/obstack.c2
-rw-r--r--misc/error.c10
-rw-r--r--misc/getpass.c4
-rw-r--r--posix/getopt.c20
-rw-r--r--resolv/res_hconf.c16
-rw-r--r--stdio-common/fxprintf.c18
-rw-r--r--stdio-common/perror.c2
-rw-r--r--stdio-common/psignal.c7
-rw-r--r--stdlib/fmtmsg.c1
-rw-r--r--sunrpc/auth_unix.c3
-rw-r--r--sunrpc/clnt_perr.c6
-rw-r--r--sunrpc/clnt_tcp.c3
-rw-r--r--sunrpc/clnt_udp.c3
-rw-r--r--sunrpc/clnt_unix.c3
-rw-r--r--sunrpc/svc_simple.c4
-rw-r--r--sunrpc/svc_tcp.c5
-rw-r--r--sunrpc/svc_udp.c7
-rw-r--r--sunrpc/svc_unix.c4
-rw-r--r--sunrpc/xdr.c6
-rw-r--r--sunrpc/xdr_array.c3
-rw-r--r--sunrpc/xdr_rec.c3
-rw-r--r--sunrpc/xdr_ref.c2
-rw-r--r--sysdeps/generic/wordexp.c2
31 files changed, 125 insertions, 97 deletions
diff --git a/ChangeLog b/ChangeLog
index 16bbe91385..19a3b4bc84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,38 @@
+2005-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* include/stdio.h (__fxprintf): Remove wfmt argument.
+	* stdio-common/fxprintf.c: Include assert.h, ctype.h and wchar.h.
+	(__fxprintf): Remove wfmt argument, create wfmt format string on
+	the fly from fmt.
+	* argp/argp-fmtstream.c: Adjust all __fxprintf callers.
+	* argp/argp-help.c: Likewise.
+	* assert/assert-perr.c: Likewise.
+	* assert/assert.c: Likewise.
+	* gmon/gmon.c: Likewise.
+	* inet/rcmd.c: Likewise.
+	* malloc/obstack.c: Likewise.
+	* misc/error.c: Likewise.
+	* misc/getpass.c: Likewise.
+	* posix/getopt.c: Likewise.
+	* resolv/res_hconf.c: Likewise.
+	* stdio-common/perror.c: Likewise.
+	* stdio-common/psignal.c: Likewise.
+	* stdlib/fmtmsg.c: Likewise.
+	* sunrpc/auth_unix.c: Likewise.
+	* sunrpc/clnt_perr.c: Likewise.
+	* sunrpc/clnt_tcp.c: Likewise.
+	* sunrpc/clnt_udp.c: Likewise.
+	* sunrpc/clnt_unix.c: Likewise.
+	* sunrpc/svc_simple.c: Likewise.
+	* sunrpc/svc_tcp.c: Likewise.
+	* sunrpc/svc_udp.c: Likewise.
+	* sunrpc/svc_unix.c: Likewise.
+	* sunrpc/xdr.c: Likewise.
+	* sunrpc/xdr_array.c: Likewise.
+	* sunrpc/xdr_rec.c: Likewise.
+	* sunrpc/xdr_ref.c: Likewise.
+	* sysdeps/generic/wordexp.c: Likewise.
+
 2005-07-20  Ulrich Drepper  <drepper@redhat.com>
 
 	* wcsmbs/bits/wchar2.h: Add definitions for wcrtomb, mbsrtowcs,
diff --git a/argp/argp-fmtstream.c b/argp/argp-fmtstream.c
index efa8388a84..1004e6762a 100644
--- a/argp/argp-fmtstream.c
+++ b/argp/argp-fmtstream.c
@@ -102,8 +102,7 @@ __argp_fmtstream_free (argp_fmtstream_t fs)
   if (fs->p > fs->buf)
     {
 #ifdef USE_IN_LIBIO
-      __fxprintf (fs->stream, "%.*s", L"%.*s",
-		  (int) (fs->p - fs->buf), fs->buf);
+      __fxprintf (fs->stream, "%.*s", (int) (fs->p - fs->buf), fs->buf);
 #else
       fwrite_unlocked (fs->buf, 1, fs->p - fs->buf, fs->stream);
 #endif
@@ -292,7 +291,7 @@ __argp_fmtstream_update (argp_fmtstream_t fs)
 		/* Output the first line so we can use the space.  */
 		{
 #ifdef _LIBC
-		  __fxprintf (fs->stream, "%.*s\n", L"%.*s\n",
+		  __fxprintf (fs->stream, "%.*s\n",
 			      (int) (nl - fs->buf), fs->buf);
 #else
 		  if (nl > fs->buf)
@@ -359,8 +358,7 @@ __argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
       __argp_fmtstream_update (fs);
 
 #ifdef _LIBC
-      __fxprintf (fs->stream, "%.*s", L"%.*s",
-		  (int) (fs->p - fs->buf), fs->buf);
+      __fxprintf (fs->stream, "%.*s", (int) (fs->p - fs->buf), fs->buf);
       wrote = fs->p - fs->buf;
 #else
       wrote = fwrite_unlocked (fs->buf, 1, fs->p - fs->buf, fs->stream);
diff --git a/argp/argp-help.c b/argp/argp-help.c
index c5a9e84f7e..ee61ed4d5c 100644
--- a/argp/argp-help.c
+++ b/argp/argp-help.c
@@ -1769,7 +1769,7 @@ __argp_error (const struct argp_state *state, const char *fmt, ...)
 	  if (__asprintf (&buf, fmt, ap) < 0)
 	    buf = NULL;
 
-	  __fxprintf (stream, "%s: %s\n", L"%s: %s\n",
+	  __fxprintf (stream, "%s: %s\n",
 		      state ? state->name : __argp_short_program_name (), buf);
 
 	  free (buf);
@@ -1821,7 +1821,7 @@ __argp_failure (const struct argp_state *state, int status, int errnum,
 #endif
 
 #ifdef _LIBC
-	  __fxprintf (stream, "%s", L"%s",
+	  __fxprintf (stream, "%s",
 		      state ? state->name : __argp_short_program_name ());
 #else
 	  fputs_unlocked (state ? state->name : __argp_short_program_name (),
@@ -1839,7 +1839,7 @@ __argp_failure (const struct argp_state *state, int status, int errnum,
 	      if (__asprintf (&buf, fmt, ap) < 0)
 		buf = NULL;
 
-	      __fxprintf (stream, ": %s", L": %s", buf);
+	      __fxprintf (stream, ": %s", buf);
 
 	      free (buf);
 #else
@@ -1857,7 +1857,7 @@ __argp_failure (const struct argp_state *state, int status, int errnum,
 	      char buf[200];
 
 #ifdef _LIBC
-	      __fxprintf (stream, ": %s", L": %s",
+	      __fxprintf (stream, ": %s",
 			  __strerror_r (errnum, buf, sizeof (buf)));
 #else
 	      putc_unlocked (':', stream);
diff --git a/assert/assert-perr.c b/assert/assert-perr.c
index b5890d226a..dd54246360 100644
--- a/assert/assert-perr.c
+++ b/assert/assert-perr.c
@@ -61,7 +61,7 @@ __assert_perror_fail (int errnum,
 		  __strerror_r (errnum, errbuf, sizeof errbuf)) >= 0)
     {
       /* Print the message.  */
-      (void) __fxprintf (NULL, "%s", L"%s", buf);
+      (void) __fxprintf (NULL, "%s", buf);
       (void) fflush (stderr);
 
       /* We have to free the buffer since the appplication might catch the
diff --git a/assert/assert.c b/assert/assert.c
index 7b7f255717..0ef4ca62e4 100644
--- a/assert/assert.c
+++ b/assert/assert.c
@@ -61,7 +61,7 @@ __assert_fail (const char *assertion, const char *file, unsigned int line,
 		  assertion) >= 0)
     {
       /* Print the message.  */
-      (void) __fxprintf (NULL, "%s", L"%s", buf);
+      (void) __fxprintf (NULL, "%s", buf);
       (void) fflush (stderr);
 
       /* We have to free the buffer since the application might catch the
diff --git a/gmon/gmon.c b/gmon/gmon.c
index 3ad581d2a9..d292454ab5 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -344,7 +344,6 @@ write_gmon (void)
 	    char buf[300];
 	    int errnum = errno;
 	    __fxprintf (NULL, "_mcleanup: gmon.out: %s\n",
-			L"_mcleanup: gmon.out: %s\n",
 			__strerror_r (errnum, buf, sizeof buf));
 	    return;
 	  }
diff --git a/include/stdio.h b/include/stdio.h
index 5b47c53883..9220db5b80 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -79,8 +79,8 @@ extern int __ftrylockfile (FILE *__stream);
 extern int __getc_unlocked (FILE *__fp);
 extern wint_t __getwc_unlocked (FILE *__fp);
 
-extern int __fxprintf (FILE *__fp, const char *__fmt, const wchar_t *__wfmt,
-		       ...) __attribute__ ((__format__ (__printf__, 2, 4)));
+extern int __fxprintf (FILE *__fp, const char *__fmt, ...)
+     __attribute__ ((__format__ (__printf__, 2, 3)));
 
 extern __const char *__const _sys_errlist_internal[] attribute_hidden;
 extern int _sys_nerr_internal attribute_hidden;
diff --git a/inet/rcmd.c b/inet/rcmd.c
index 8d236ad099..da6c070764 100644
--- a/inet/rcmd.c
+++ b/inet/rcmd.c
@@ -138,11 +138,9 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
 	error = getaddrinfo(*ahost, num, &hints, &res);
 	if (error) {
 		if (error == EAI_NONAME && *ahost != NULL)
-			__fxprintf(NULL, "%s: Unknown host\n",
-				   L"%s: Unknown host\n", *ahost);
+			__fxprintf(NULL, "%s: Unknown host\n", *ahost);
 		else
 			__fxprintf(NULL, "rcmd: getaddrinfo: %s\n",
-				   L"rcmd: getaddrinfo: %s\n",
 				   gai_strerror(error));
 
                 return -1;
@@ -155,7 +153,7 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
 		free (ahostbuf);
 		ahostbuf = strdup (res->ai_canonname);
 		if (ahostbuf == NULL) {
-			__fxprintf(NULL, "%s", L"%s",
+			__fxprintf(NULL, "%s",
 				   _("rcmd: Cannot allocate memory\n"));
 			return -1;
 		}
@@ -171,11 +169,10 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
 		s = rresvport_af(&lport, ai->ai_family);
 		if (s < 0) {
 			if (errno == EAGAIN)
-				__fxprintf(NULL, "%s", L"%s", _("\
+				__fxprintf(NULL, "%s", _("\
 rcmd: socket: All ports in use\n"));
 			else
-				__fxprintf(NULL, "rcmd: socket: %m\n",
-					   L"rcmd: socket: %m\n");
+				__fxprintf(NULL, "rcmd: socket: %m\n");
 
 			__sigsetmask(oldmask);
 			freeaddrinfo(res);
@@ -203,7 +200,7 @@ rcmd: socket: All ports in use\n"));
 			if (__asprintf (&buf, _("connect to address %s: "),
 					paddr) >= 0)
 			  {
-			    __fxprintf(NULL, "%s", L"%s", buf);
+			    __fxprintf(NULL, "%s", buf);
 			    free (buf);
 			  }
 			__set_errno (oerrno);
@@ -215,7 +212,7 @@ rcmd: socket: All ports in use\n"));
 				    NI_NUMERICHOST);
 			if (__asprintf (&buf, _("Trying %s...\n"), paddr) >= 0)
 			  {
-			    __fxprintf (NULL, "%s", L"%s", buf);
+			    __fxprintf (NULL, "%s", buf);
 			    free (buf);
 			  }
 			continue;
@@ -228,7 +225,7 @@ rcmd: socket: All ports in use\n"));
 			continue;
 		}
 		freeaddrinfo(res);
-		(void)__fxprintf(NULL, "%s: %s\n", L"%s: %s\n", *ahost,
+		(void)__fxprintf(NULL, "%s: %s\n", *ahost,
 				 __strerror_r(errno, errbuf, sizeof (errbuf)));
 		__sigsetmask(oldmask);
 		return -1;
@@ -252,7 +249,7 @@ rcmd: socket: All ports in use\n"));
 			if (__asprintf (&buf, _("\
 rcmd: write (setting up stderr): %m\n")) >= 0)
 			  {
-			    __fxprintf(NULL, "%s", L"%s", buf);
+			    __fxprintf(NULL, "%s", buf);
 			    free (buf);
 			  }
 			(void)__close(s2);
@@ -271,7 +268,7 @@ rcmd: poll (setting up stderr): %m\n")) >= 0)
 				&& __asprintf(&buf, _("\
 poll: protocol failure in circuit setup\n")) >= 0))
 			  {
-			    __fxprintf (NULL, "%s", L"%s", buf);
+			    __fxprintf (NULL, "%s", buf);
 			    free  (buf);
 			  }
 			(void)__close(s2);
@@ -292,8 +289,7 @@ poll: protocol failure in circuit setup\n")) >= 0))
 		}
 		(void)__close(s2);
 		if (s3 < 0) {
-			(void)__fxprintf(NULL, "rcmd: accept: %m\n",
-					 L"rcmd: accept: %m\n");
+			(void)__fxprintf(NULL, "rcmd: accept: %m\n");
 			lport = 0;
 			goto bad;
 		}
@@ -305,7 +301,7 @@ poll: protocol failure in circuit setup\n")) >= 0))
 			if (__asprintf(&buf, _("\
 socket: protocol failure in circuit setup\n")) >= 0)
 			  {
-			    __fxprintf (NULL, "%s", L"%s", buf);
+			    __fxprintf (NULL, "%s", buf);
 			    free (buf);
 			  }
 			goto bad2;
@@ -331,7 +327,7 @@ socket: protocol failure in circuit setup\n")) >= 0)
 		    || (n != 0
 			&& __asprintf(&buf, "rcmd: %s: %m\n", *ahost) >= 0))
 		  {
-		    __fxprintf (NULL, "%s", L"%s", buf);
+		    __fxprintf (NULL, "%s", buf);
 		    free (buf);
 		  }
 		goto bad2;
diff --git a/malloc/obstack.c b/malloc/obstack.c
index 7f9e24548b..aba21f9aac 100644
--- a/malloc/obstack.c
+++ b/malloc/obstack.c
@@ -410,7 +410,7 @@ print_and_abort (void)
      happen because the "memory exhausted" message appears in other places
      like this and the translation should be reused instead of creating
      a very similar string which requires a separate translation.  */
-  (void) __fxprintf (NULL, "%s\n", L"%s\n", _("memory exhausted"));
+  (void) __fxprintf (NULL, "%s\n", _("memory exhausted"));
   exit (obstack_exit_failure);
 }
 
diff --git a/misc/error.c b/misc/error.c
index 5f00ae97de..29060e94de 100644
--- a/misc/error.c
+++ b/misc/error.c
@@ -158,7 +158,7 @@ print_errno_message (int errnum)
 #endif
 
 #if _LIBC
-  __fxprintf (NULL, ": %s", L": %s", s);
+  __fxprintf (NULL, ": %s", s);
 #else
   fprintf (stderr, ": %s", s);
 #endif
@@ -243,7 +243,7 @@ error_tail (int status, int errnum, const char *message, va_list args)
   if (errnum)
     print_errno_message (errnum);
 # if _LIBC
-  __fxprintf (NULL, "\n", L"\n");
+  __fxprintf (NULL, "\n");
 # else
   putc ('\n', stderr);
 # endif
@@ -291,7 +291,7 @@ error (status, errnum, message, va_alist)
   else
     {
 #if _LIBC
-      __fxprintf (NULL, "%s: ", L"%s: ", program_name);
+      __fxprintf (NULL, "%s: ", program_name);
 #else
       fprintf (stderr, "%s: ", program_name);
 #endif
@@ -374,7 +374,7 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
   else
     {
 #if _LIBC
-      __fxprintf (NULL, "%s:", L"%s: ", program_name);
+      __fxprintf (NULL, "%s:", program_name);
 #else
       fprintf (stderr, "%s:", program_name);
 #endif
@@ -383,7 +383,7 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
   if (file_name != NULL)
     {
 #if _LIBC
-      __fxprintf (NULL, "%s:%d: ", L"%s:%d: ", file_name, line_number);
+      __fxprintf (NULL, "%s:%d: ", file_name, line_number);
 #else
       fprintf (stderr, "%s:%d: ", file_name, line_number);
 #endif
diff --git a/misc/getpass.c b/misc/getpass.c
index a6e568ac08..5290c3c7d3 100644
--- a/misc/getpass.c
+++ b/misc/getpass.c
@@ -91,7 +91,7 @@ getpass (prompt)
     tty_changed = 0;
 
   /* Write the prompt.  */
-  __fxprintf (out, "%s", L"%s", prompt);
+  __fxprintf (out, "%s", prompt);
   fflush_unlocked (out);
 
   /* Read the password.  */
@@ -106,7 +106,7 @@ getpass (prompt)
 	  buf[nread - 1] = '\0';
 	  if (tty_changed)
 	    /* Write the newline that was not echoed.  */
-	    __fxprintf (out, "%c", L"%c", '\n');
+	    __fxprintf (out, "\n");
 	}
     }
 
diff --git a/posix/getopt.c b/posix/getopt.c
index c294ce3711..b1cecd31aa 100644
--- a/posix/getopt.c
+++ b/posix/getopt.c
@@ -576,7 +576,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 		  int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
 		  ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
 
-		  __fxprintf (NULL, "%s", L"%s", buf);
+		  __fxprintf (NULL, "%s", buf);
 
 		  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 		  _IO_funlockfile (stderr);
@@ -651,7 +651,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 			  ((_IO_FILE *) stderr)->_flags2
 			    |= _IO_FLAGS2_NOTCANCEL;
 
-			  __fxprintf (NULL, "%s", L"%s", buf);
+			  __fxprintf (NULL, "%s", buf);
 
 			  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 			  _IO_funlockfile (stderr);
@@ -688,7 +688,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 			  ((_IO_FILE *) stderr)->_flags2
 			    |= _IO_FLAGS2_NOTCANCEL;
 
-			  __fxprintf (NULL, "%s", L"%s", buf);
+			  __fxprintf (NULL, "%s", buf);
 
 			  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 			  _IO_funlockfile (stderr);
@@ -762,7 +762,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 		  int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
 		  ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
 
-		  __fxprintf (NULL, "%s", L"%s", buf);
+		  __fxprintf (NULL, "%s", buf);
 
 		  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 		  _IO_funlockfile (stderr);
@@ -825,7 +825,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 		int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
 		((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
 
-		__fxprintf (NULL, "%s", L"%s", buf);
+		__fxprintf (NULL, "%s", buf);
 
 		((_IO_FILE *) stderr)->_flags2 = old_flags2;
 		_IO_funlockfile (stderr);
@@ -873,7 +873,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 		    int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
 		    ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
 
-		    __fxprintf (NULL, "%s", L"%s", buf);
+		    __fxprintf (NULL, "%s", buf);
 
 		    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 		    _IO_funlockfile (stderr);
@@ -942,7 +942,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 		    int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
 		    ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
 
-		    __fxprintf (NULL, "%s", L"%s", buf);
+		    __fxprintf (NULL, "%s", buf);
 
 		    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 		    _IO_funlockfile (stderr);
@@ -984,7 +984,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 			    ((_IO_FILE *) stderr)->_flags2
 			      |= _IO_FLAGS2_NOTCANCEL;
 
-			    __fxprintf (NULL, "%s", L"%s", buf);
+			    __fxprintf (NULL, "%s", buf);
 
 			    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 			    _IO_funlockfile (stderr);
@@ -1023,7 +1023,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 			    ((_IO_FILE *) stderr)->_flags2
 			      |= _IO_FLAGS2_NOTCANCEL;
 
-			    __fxprintf (NULL, "%s", L"%s", buf);
+			    __fxprintf (NULL, "%s", buf);
 
 			    ((_IO_FILE *) stderr)->_flags2 = old_flags2;
 			    _IO_funlockfile (stderr);
@@ -1094,7 +1094,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 			int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
 			((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
 
-			__fxprintf (NULL, "%s", L"%s", buf);
+			__fxprintf (NULL, "%s", buf);
 
 			((_IO_FILE *) stderr)->_flags2 = old_flags2;
 			_IO_funlockfile (stderr);
diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c
index d3de4be15a..9beb881701 100644
--- a/resolv/res_hconf.c
+++ b/resolv/res_hconf.c
@@ -150,7 +150,7 @@ arg_service_list (const char *fname, int line_num, const char *args,
 			  fname, line_num, start) < 0)
 	    return 0;
 
-	  __fxprintf (NULL, "%s", L"%s", buf);
+	  __fxprintf (NULL, "%s", buf);
 
 	  free (buf);
 	  return 0;
@@ -164,7 +164,7 @@ arg_service_list (const char *fname, int line_num, const char *args,
 			  fname, line_num, SERVICE_MAX) < 0)
 	    return 0;
 
-	  __fxprintf (NULL, "%s", L"%s", buf);
+	  __fxprintf (NULL, "%s", buf);
 
 	  free (buf);
 	  return 0;
@@ -187,7 +187,7 @@ arg_service_list (const char *fname, int line_num, const char *args,
 			      fname, line_num) < 0)
 		return 0;
 
-	      __fxprintf (NULL, "%s", L"%s", buf);
+	      __fxprintf (NULL, "%s", buf);
 
 	      free (buf);
 	      return 0;
@@ -223,7 +223,7 @@ arg_trimdomain_list (const char *fname, int line_num, const char *args,
 			  fname, line_num, TRIMDOMAINS_MAX) < 0)
 	    return 0;
 
-	  __fxprintf (NULL, "%s", L"%s", buf);
+	  __fxprintf (NULL, "%s", buf);
 
 	  free (buf);
 	  return 0;
@@ -244,7 +244,7 @@ arg_trimdomain_list (const char *fname, int line_num, const char *args,
 			      fname, line_num) < 0)
 		return 0;
 
-	      __fxprintf (NULL, "%s", L"%s", buf);
+	      __fxprintf (NULL, "%s", buf);
 
 	      free (buf);
 	      return 0;
@@ -302,7 +302,7 @@ arg_bool (const char *fname, int line_num, const char *args, unsigned flag)
 		      fname, line_num, args) < 0)
 	return 0;
 
-      __fxprintf (NULL, "%s", L"%s", buf);
+      __fxprintf (NULL, "%s", buf);
 
       free (buf);
       return 0;
@@ -345,7 +345,7 @@ parse_line (const char *fname, int line_num, const char *str)
 		      fname, line_num, start) < 0)
 	return;
 
-      __fxprintf (NULL, "%s", L"%s", buf);
+      __fxprintf (NULL, "%s", buf);
 
       free (buf);
       return;
@@ -370,7 +370,7 @@ parse_line (const char *fname, int line_num, const char *str)
 			    fname, line_num, str) < 0)
 	      break;
 
-	    __fxprintf (NULL, "%s", L"%s", buf);
+	    __fxprintf (NULL, "%s", buf);
 
 	    free (buf);
 	  }
diff --git a/stdio-common/fxprintf.c b/stdio-common/fxprintf.c
index 82a2ac8bd7..298e5f22b0 100644
--- a/stdio-common/fxprintf.c
+++ b/stdio-common/fxprintf.c
@@ -17,22 +17,34 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
+#include <ctype.h>
 #include <stdarg.h>
 #include <stdio.h>
+#include <wchar.h>
 
 
 int
-__fxprintf (FILE *fp, const char *fmt, const wchar_t *wfmt, ...)
+__fxprintf (FILE *fp, const char *fmt, ...)
 {
   if (fp == NULL)
     fp = stderr;
 
   va_list ap;
-  va_start (ap, wfmt);
+  va_start (ap, fmt);
 
   int res;
   if (_IO_fwide (fp, 0) > 0)
-    res = __vfwprintf (fp, wfmt, ap);
+    {
+      size_t len = strlen (fmt) + 1, i;
+      wchar_t wfmt[len];
+      for (i = 0; i < len; ++i)
+	{
+	  assert (isascii (fmt[i]));
+	  wfmt[i] = fmt[i];
+	}
+      res = __vfwprintf (fp, wfmt, ap);
+    }
   else
     res = _IO_vfprintf (fp, fmt, ap);
 
diff --git a/stdio-common/perror.c b/stdio-common/perror.c
index 6d32e6d6e1..3ee61520f4 100644
--- a/stdio-common/perror.c
+++ b/stdio-common/perror.c
@@ -37,7 +37,7 @@ perror_internal (FILE *fp, const char *s, int errnum)
 
   errstring = __strerror_r (errnum, buf, sizeof buf);
 
-  (void) __fxprintf (fp, "%s%s%s\n", L"%s%s%s\n", s, colon, errstring);
+  (void) __fxprintf (fp, "%s%s%s\n", s, colon, errstring);
 }
 
 
diff --git a/stdio-common/psignal.c b/stdio-common/psignal.c
index 6c4e823b91..be95095350 100644
--- a/stdio-common/psignal.c
+++ b/stdio-common/psignal.c
@@ -47,17 +47,16 @@ psignal (int sig, const char *s)
     colon = ": ";
 
   if (sig >= 0 && sig < NSIG && (desc = INTUSE(_sys_siglist)[sig]) != NULL)
-    (void) __fxprintf (NULL, L"%s%s%s\n", "%s%s%s\n", s, colon, _(desc));
+    (void) __fxprintf (NULL, "%s%s%s\n", s, colon, _(desc));
   else
     {
       char *buf;
 
       if (__asprintf (&buf, _("%s%sUnknown signal %d\n"), s, colon, sig) < 0)
-	(void) __fxprintf (NULL, "%s%s%s\n", L"%s%s%s\n",
-			   s, colon, _("Unknown signal"));
+	(void) __fxprintf (NULL, "%s%s%s\n", s, colon, _("Unknown signal"));
       else
 	{
-	  (void) __fxprintf (NULL, L"%s", "%s", buf);
+	  (void) __fxprintf (NULL, "%s", buf);
 
 	  free (buf);
 	}
diff --git a/stdlib/fmtmsg.c b/stdlib/fmtmsg.c
index 224ccf133b..e0f4061cee 100644
--- a/stdlib/fmtmsg.c
+++ b/stdlib/fmtmsg.c
@@ -155,7 +155,6 @@ fmtmsg (long int classification, const char *label, int severity,
       int do_tag = (print & tag_mask) && tag != MM_NULLTAG;
 
       if (__fxprintf (stderr, "%s%s%s%s%s%s%s%s%s%s\n",
-		      L"%s%s%s%s%s%s%s%s%s%s\n",
 		      do_label ? label : "",
 		      do_label && (do_severity | do_text | do_action | do_tag)
 		      ? ": " : "",
diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c
index f4ee1b75e4..c5a874bbbe 100644
--- a/sunrpc/auth_unix.c
+++ b/sunrpc/auth_unix.c
@@ -111,8 +111,7 @@ authunix_create (char *machname, uid_t uid, gid_t gid, int len,
   if (auth == NULL || au == NULL)
     {
 no_memory:
-      (void) __fxprintf (NULL, "%s", L"%s",
-			 _("authunix_create: out of memory\n"));
+      (void) __fxprintf (NULL, "%s", _("authunix_create: out of memory\n"));
       mem_free (auth, sizeof (*auth));
       mem_free (au, sizeof (*au));
       return NULL;
diff --git a/sunrpc/clnt_perr.c b/sunrpc/clnt_perr.c
index 7fe498f5c5..6446b32740 100644
--- a/sunrpc/clnt_perr.c
+++ b/sunrpc/clnt_perr.c
@@ -155,7 +155,7 @@ libc_hidden_def (clnt_sperror)
 void
 clnt_perror (CLIENT * rpch, const char *msg)
 {
-  (void) __fxprintf (NULL, "%s", L"%s", clnt_sperror (rpch, msg));
+  (void) __fxprintf (NULL, "%s", clnt_sperror (rpch, msg));
 }
 libc_hidden_def (clnt_perror)
 
@@ -284,7 +284,7 @@ libc_hidden_def (clnt_sperrno)
 void
 clnt_perrno (enum clnt_stat num)
 {
-  (void) __fxprintf (NULL, "%s", L"%s", clnt_sperrno (num));
+  (void) __fxprintf (NULL, "%s", clnt_sperrno (num));
 }
 
 
@@ -327,7 +327,7 @@ libc_hidden_def (clnt_spcreateerror)
 void
 clnt_pcreateerror (const char *msg)
 {
-  (void) __fxprintf (NULL, "%s", L"%s", clnt_spcreateerror (msg));
+  (void) __fxprintf (NULL, "%s", clnt_spcreateerror (msg));
 }
 
 struct auth_errtab
diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c
index f9a64f5de1..095baa87aa 100644
--- a/sunrpc/clnt_tcp.c
+++ b/sunrpc/clnt_tcp.c
@@ -128,8 +128,7 @@ clnttcp_create (struct sockaddr_in *raddr, u_long prog, u_long vers,
   if (h == NULL || ct == NULL)
     {
       struct rpc_createerr *ce = &get_rpc_createerr ();
-      (void) __fxprintf (NULL, "%s", L"%s",
-			 _("clnttcp_create: out of memory\n"));
+      (void) __fxprintf (NULL, "%s", _("clnttcp_create: out of memory\n"));
       ce->cf_stat = RPC_SYSTEMERROR;
       ce->cf_error.re_errno = ENOMEM;
       goto fooy;
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
index fa30a6cb93..f4a46b5036 100644
--- a/sunrpc/clnt_udp.c
+++ b/sunrpc/clnt_udp.c
@@ -136,8 +136,7 @@ clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, u_long version,
   if (cl == NULL || cu == NULL)
     {
       struct rpc_createerr *ce = &get_rpc_createerr ();
-      (void) __fxprintf (NULL, "%s", L"%s",
-			 _("clntudp_create: out of memory\n"));
+      (void) __fxprintf (NULL, "%s", _("clntudp_create: out of memory\n"));
       ce->cf_stat = RPC_SYSTEMERROR;
       ce->cf_error.re_errno = ENOMEM;
       goto fooy;
diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c
index eb96656215..4e93e0d855 100644
--- a/sunrpc/clnt_unix.c
+++ b/sunrpc/clnt_unix.c
@@ -125,8 +125,7 @@ clntunix_create (struct sockaddr_un *raddr, u_long prog, u_long vers,
   if (h == NULL || ct == NULL)
     {
       struct rpc_createerr *ce = &get_rpc_createerr ();
-      (void) __fxprintf (NULL, "%s", L"%s",
-			 _("clntunix_create: out of memory\n"));
+      (void) __fxprintf (NULL, "%s", _("clntunix_create: out of memory\n"));
       ce->cf_stat = RPC_SYSTEMERROR;
       ce->cf_error.re_errno = ENOMEM;
       goto fooy;
diff --git a/sunrpc/svc_simple.c b/sunrpc/svc_simple.c
index 1344c0bd55..6c1c9c914e 100644
--- a/sunrpc/svc_simple.c
+++ b/sunrpc/svc_simple.c
@@ -125,7 +125,7 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum,
  err_out:
   if (buf == NULL)
     return -1;
-  (void) __fxprintf (NULL, "%s", L"%s", buf);
+  (void) __fxprintf (NULL, "%s", buf);
   free (buf);
   return -1;
 }
@@ -184,7 +184,7 @@ universal (struct svc_req *rqstp, SVCXPRT *transp_l)
  err_out2:
   if (buf == NULL)
     exit (1);
-  __fxprintf (NULL, "%s", L"%s", buf);
+  __fxprintf (NULL, "%s", buf);
   free (buf);
   exit (1);
 }
diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c
index 5c646a46c7..539a2b8d98 100644
--- a/sunrpc/svc_tcp.c
+++ b/sunrpc/svc_tcp.c
@@ -176,8 +176,7 @@ svctcp_create (int sock, u_int sendsize, u_int recvsize)
   xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT));
   if (r == NULL || xprt == NULL)
     {
-      (void) __fxprintf (NULL, "%s", L"%s",
-			 _("svctcp_create: out of memory\n"));
+      (void) __fxprintf (NULL, "%s", _("svctcp_create: out of memory\n"));
       mem_free (r, sizeof (*r));
       mem_free (xprt, sizeof (SVCXPRT));
       return NULL;
@@ -215,7 +214,7 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize)
   cd = (struct tcp_conn *) mem_alloc (sizeof (struct tcp_conn));
   if (xprt == (SVCXPRT *) NULL || cd == NULL)
     {
-      (void) __fxprintf (NULL, "%s", L"%s",
+      (void) __fxprintf (NULL, "%s",
 			 _("svc_tcp: makefd_xprt: out of memory\n"));
       mem_free (xprt, sizeof (SVCXPRT));
       mem_free (cd, sizeof (struct tcp_conn));
diff --git a/sunrpc/svc_udp.c b/sunrpc/svc_udp.c
index 62fd97e2f7..c0c115abeb 100644
--- a/sunrpc/svc_udp.c
+++ b/sunrpc/svc_udp.c
@@ -149,8 +149,7 @@ svcudp_bufcreate (sock, sendsz, recvsz)
   buf = mem_alloc (((MAX (sendsz, recvsz) + 3) / 4) * 4);
   if (xprt == NULL || su == NULL || buf == NULL)
     {
-      (void) __fxprintf (NULL, "%s", L"%s",
-			 _("svcudp_create: out of memory\n"));
+      (void) __fxprintf (NULL, "%s", _("svcudp_create: out of memory\n"));
       mem_free (xprt, sizeof (SVCXPRT));
       mem_free (su, sizeof (*su));
       mem_free (buf, ((MAX (sendsz, recvsz) + 3) / 4) * 4);
@@ -172,7 +171,7 @@ svcudp_bufcreate (sock, sendsz, recvsz)
        + sizeof(struct cmsghdr) + sizeof (struct in_pktinfo))
       > sizeof (xprt->xp_pad))
     {
-      (void) __fxprintf (NULL,"%s",  L"%s", _("\
+      (void) __fxprintf (NULL,"%s", _("\
 svcudp_create: xp_pad is too small for IP_PKTINFO\n"));
       return NULL;
     }
@@ -402,7 +401,7 @@ svcudp_destroy (xprt)
 #define SPARSENESS 4		/* 75% sparse */
 
 #define CACHE_PERROR(msg)	\
-	(void) __fxprintf(NULL, "%s\n", L"%s\n", msg)
+	(void) __fxprintf(NULL, "%s\n", msg)
 
 #define ALLOC(type, size)	\
 	(type *) mem_alloc((unsigned) (sizeof(type) * (size)))
diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c
index 7672fcda48..1b7b1fbd4f 100644
--- a/sunrpc/svc_unix.c
+++ b/sunrpc/svc_unix.c
@@ -173,7 +173,7 @@ svcunix_create (int sock, u_int sendsize, u_int recvsize, char *path)
   xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT));
   if (r == NULL || xprt == NULL)
     {
-      __fxprintf (NULL, "%s", L"%s", _("svcunix_create: out of memory\n"));
+      __fxprintf (NULL, "%s", _("svcunix_create: out of memory\n"));
       mem_free (r, sizeof (*r));
       mem_free (xprt, sizeof (SVCXPRT));
       return NULL;
@@ -211,7 +211,7 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize)
   cd = (struct unix_conn *) mem_alloc (sizeof (struct unix_conn));
   if (xprt == (SVCXPRT *) NULL || cd == (struct unix_conn *) NULL)
     {
-      (void) __fxprintf (NULL, "%s", L"%s",
+      (void) __fxprintf (NULL, "%s",
 			 _("svc_unix: makefd_xprt: out of memory\n"));
       mem_free (xprt, sizeof (SVCXPRT));
       mem_free (cd, sizeof (struct unix_conn));
diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c
index 2f64c5b3fa..21e339b4ee 100644
--- a/sunrpc/xdr.c
+++ b/sunrpc/xdr.c
@@ -563,8 +563,7 @@ xdr_bytes (xdrs, cpp, sizep, maxsize)
 	}
       if (sp == NULL)
 	{
-	  (void) __fxprintf (NULL, "%s", L"%s",
-			     _("xdr_bytes: out of memory\n"));
+	  (void) __fxprintf (NULL, "%s", _("xdr_bytes: out of memory\n"));
 	  return FALSE;
 	}
       /* fall into ... */
@@ -716,8 +715,7 @@ xdr_string (xdrs, cpp, maxsize)
 	*cpp = sp = (char *) mem_alloc (nodesize);
       if (sp == NULL)
 	{
-	  (void) __fxprintf (NULL, "%s", L"%s",
-			     _("xdr_string: out of memory\n"));
+	  (void) __fxprintf (NULL, "%s", _("xdr_string: out of memory\n"));
 	  return FALSE;
 	}
       sp[size] = 0;
diff --git a/sunrpc/xdr_array.c b/sunrpc/xdr_array.c
index 12c78d4218..765f8995d3 100644
--- a/sunrpc/xdr_array.c
+++ b/sunrpc/xdr_array.c
@@ -105,8 +105,7 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc)
 	*addrp = target = mem_alloc (nodesize);
 	if (target == NULL)
 	  {
-	    (void) __fxprintf (NULL, "%s", L"%s",
-			       _("xdr_array: out of memory\n"));
+	    (void) __fxprintf (NULL, "%s", _("xdr_array: out of memory\n"));
 	    return FALSE;
 	  }
 	__bzero (target, nodesize);
diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c
index e841faa6f1..1be3a4ad26 100644
--- a/sunrpc/xdr_rec.c
+++ b/sunrpc/xdr_rec.c
@@ -153,8 +153,7 @@ xdrrec_create (XDR *xdrs, u_int sendsize,
 
   if (rstrm == NULL || buf == NULL)
     {
-      (void) __fxprintf (NULL, "%s", L"%s",
-			 _("xdrrec_create: out of memory\n"));
+      (void) __fxprintf (NULL, "%s", _("xdrrec_create: out of memory\n"));
       mem_free (rstrm, sizeof (RECSTREAM));
       mem_free (buf, sendsize + recvsize + BYTES_PER_XDR_UNIT);
       /*
diff --git a/sunrpc/xdr_ref.c b/sunrpc/xdr_ref.c
index 68460bdc39..961c82edd2 100644
--- a/sunrpc/xdr_ref.c
+++ b/sunrpc/xdr_ref.c
@@ -82,7 +82,7 @@ xdr_reference (xdrs, pp, size, proc)
 	*pp = loc = (caddr_t) mem_alloc (size);
 	if (loc == NULL)
 	  {
-	    (void) __fxprintf (NULL, "%s", L"%s",
+	    (void) __fxprintf (NULL, "%s",
 			       _("xdr_reference: out of memory\n"));
 	    return FALSE;
 	  }
diff --git a/sysdeps/generic/wordexp.c b/sysdeps/generic/wordexp.c
index 41bbf426d0..2eb58089c4 100644
--- a/sysdeps/generic/wordexp.c
+++ b/sysdeps/generic/wordexp.c
@@ -1798,7 +1798,7 @@ envsubst:
 	      if (str[0] == '\0')
 		str = _("parameter null or not set");
 
-	      __fxprintf (NULL, "%s: %s\n", L"%s: %s\n", env, str);
+	      __fxprintf (NULL, "%s: %s\n", env, str);
 	    }
 
 	  if (free_value)