* [PATCH] __fxprintf tweaks
@ 2005-07-20 10:17 Jakub Jelinek
2005-07-20 17:49 ` Ulrich Drepper
0 siblings, 1 reply; 2+ messages in thread
From: Jakub Jelinek @ 2005-07-20 10:17 UTC (permalink / raw)
To: Ulrich Drepper; +Cc: Glibc hackers
Hi!
psignal.c in 2 places used wrong order of wide and narrow
literals, e.g.
__fxprintf (NULL, L"%s%s%s\n", "%s%s%s\n", s, colon, _(desc));
But IMHO by using 2 format strings in the source (that really needs to
be identical apart from the L modifier) is too error-prone
and GCC will be checking just the narrow fmt string and not the wide
fmt string.
I see 2 possibilities, one (proposed by Roland) is to create a macro
#define __fxprintf(stream, fmt, ...) \
___fxprintf(stream, fmt, L##fmt , ## __VA_ARGS__)
(where although just fmt would be checked, we'd be reasonably sure
wfmt is the same string).
The second one is implemented in the patch below, assumes only
ASCII chars are used in __fxprintf (which is the case and __fxprintf
is glibc's internal function) and for efficiency that they aren't too
long either (usually just a few chars). In my x86-64 build,
it makes __fxprintf itself ~ 180 bytes longer, but saves ~ 600 bytes
in .rodata section and another ~ 600 bytes in .text section in __fxprintf
callers (as they don't need to pass one extra argument).
The first solution would use basically identical patch except the
first 2 files.
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.
--- libc/include/stdio.h.jj 2005-07-20 08:35:30.000000000 +0200
+++ libc/include/stdio.h 2005-07-20 11:15:41.000000000 +0200
@@ -79,8 +79,8 @@ extern int __ftrylockfile (FILE *__strea
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;
--- libc/stdio-common/fxprintf.c.jj 2005-07-20 01:38:37.000000000 +0200
+++ libc/stdio-common/fxprintf.c 2005-07-20 11:20:55.000000000 +0200
@@ -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);
--- libc/posix/getopt.c.jj 2005-07-20 10:32:47.000000000 +0200
+++ libc/posix/getopt.c 2005-07-20 11:05:56.000000000 +0200
@@ -576,7 +576,7 @@ _getopt_internal_r (int argc, char *cons
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 *cons
((_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 *cons
((_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 *cons
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 *cons
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 *cons
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 *cons
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 *cons
((_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 *cons
((_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 *cons
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);
--- libc/malloc/obstack.c.jj 2005-07-20 10:32:44.000000000 +0200
+++ libc/malloc/obstack.c 2005-07-20 11:06:04.000000000 +0200
@@ -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);
}
--- libc/inet/rcmd.c.jj 2005-07-20 10:32:43.000000000 +0200
+++ libc/inet/rcmd.c 2005-07-20 11:07:18.000000000 +0200
@@ -138,11 +138,9 @@ rcmd_af(ahost, rport, locuser, remuser,
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,
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,
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"))
&& __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\
}
(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\
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 setu
|| (n != 0
&& __asprintf(&buf, "rcmd: %s: %m\n", *ahost) >= 0))
{
- __fxprintf (NULL, "%s", L"%s", buf);
+ __fxprintf (NULL, "%s", buf);
free (buf);
}
goto bad2;
--- libc/stdlib/fmtmsg.c.jj 2005-07-20 10:32:48.000000000 +0200
+++ libc/stdlib/fmtmsg.c 2005-07-20 11:07:26.000000000 +0200
@@ -155,7 +155,6 @@ fmtmsg (long int classification, const c
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)
? ": " : "",
--- libc/sunrpc/clnt_perr.c.jj 2005-07-20 10:32:49.000000000 +0200
+++ libc/sunrpc/clnt_perr.c 2005-07-20 11:07:52.000000000 +0200
@@ -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
--- libc/sunrpc/svc_tcp.c.jj 2005-07-20 10:32:50.000000000 +0200
+++ libc/sunrpc/svc_tcp.c 2005-07-20 11:08:40.000000000 +0200
@@ -176,8 +176,7 @@ svctcp_create (int sock, u_int sendsize,
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_i
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));
--- libc/sunrpc/xdr_array.c.jj 2005-07-20 10:32:50.000000000 +0200
+++ libc/sunrpc/xdr_array.c 2005-07-20 11:10:03.000000000 +0200
@@ -105,8 +105,7 @@ xdr_array (xdrs, addrp, sizep, maxsize,
*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);
--- libc/sunrpc/clnt_unix.c.jj 2005-07-20 10:32:49.000000000 +0200
+++ libc/sunrpc/clnt_unix.c 2005-07-20 11:09:29.000000000 +0200
@@ -125,8 +125,7 @@ clntunix_create (struct sockaddr_un *rad
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;
--- libc/sunrpc/svc_unix.c.jj 2005-07-20 10:32:50.000000000 +0200
+++ libc/sunrpc/svc_unix.c 2005-07-20 11:08:20.000000000 +0200
@@ -173,7 +173,7 @@ svcunix_create (int sock, u_int sendsize
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_i
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));
--- libc/sunrpc/clnt_udp.c.jj 2005-07-20 10:32:49.000000000 +0200
+++ libc/sunrpc/clnt_udp.c 2005-07-20 11:10:17.000000000 +0200
@@ -136,8 +136,7 @@ clntudp_bufcreate (struct sockaddr_in *r
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;
--- libc/sunrpc/auth_unix.c.jj 2005-07-20 10:32:49.000000000 +0200
+++ libc/sunrpc/auth_unix.c 2005-07-20 11:09:55.000000000 +0200
@@ -111,8 +111,7 @@ authunix_create (char *machname, uid_t u
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;
--- libc/sunrpc/svc_udp.c.jj 2005-07-20 10:32:50.000000000 +0200
+++ libc/sunrpc/svc_udp.c 2005-07-20 11:09:21.000000000 +0200
@@ -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)))
--- libc/sunrpc/clnt_tcp.c.jj 2005-07-20 10:32:49.000000000 +0200
+++ libc/sunrpc/clnt_tcp.c 2005-07-20 11:08:02.000000000 +0200
@@ -128,8 +128,7 @@ clnttcp_create (struct sockaddr_in *radd
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;
--- libc/sunrpc/xdr.c.jj 2005-07-20 10:32:50.000000000 +0200
+++ libc/sunrpc/xdr.c 2005-07-20 11:09:47.000000000 +0200
@@ -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;
--- libc/sunrpc/svc_simple.c.jj 2005-07-20 10:32:49.000000000 +0200
+++ libc/sunrpc/svc_simple.c 2005-07-20 11:08:52.000000000 +0200
@@ -125,7 +125,7 @@ registerrpc (u_long prognum, u_long vers
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, SVCXPR
err_out2:
if (buf == NULL)
exit (1);
- __fxprintf (NULL, "%s", L"%s", buf);
+ __fxprintf (NULL, "%s", buf);
free (buf);
exit (1);
}
--- libc/sunrpc/xdr_rec.c.jj 2005-07-20 10:32:50.000000000 +0200
+++ libc/sunrpc/xdr_rec.c 2005-07-20 11:07:37.000000000 +0200
@@ -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);
/*
--- libc/sunrpc/xdr_ref.c.jj 2005-07-20 10:32:50.000000000 +0200
+++ libc/sunrpc/xdr_ref.c 2005-07-20 11:09:02.000000000 +0200
@@ -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;
}
--- libc/sysdeps/generic/wordexp.c.jj 2005-07-20 10:32:51.000000000 +0200
+++ libc/sysdeps/generic/wordexp.c 2005-07-20 11:10:28.000000000 +0200
@@ -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)
--- libc/argp/argp-help.c.jj 2005-07-20 10:32:42.000000000 +0200
+++ libc/argp/argp-help.c 2005-07-20 11:10:53.000000000 +0200
@@ -1769,7 +1769,7 @@ __argp_error (const struct argp_state *s
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
#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
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
char buf[200];
#ifdef _LIBC
- __fxprintf (stream, ": %s", L": %s",
+ __fxprintf (stream, ": %s",
__strerror_r (errnum, buf, sizeof (buf)));
#else
putc_unlocked (':', stream);
--- libc/argp/argp-fmtstream.c.jj 2005-07-20 10:32:41.000000000 +0200
+++ libc/argp/argp-fmtstream.c 2005-07-20 11:11:14.000000000 +0200
@@ -102,8 +102,7 @@ __argp_fmtstream_free (argp_fmtstream_t
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_
/* 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_fmt
__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);
--- libc/assert/assert.c.jj 2005-07-20 10:32:42.000000000 +0200
+++ libc/assert/assert.c 2005-07-20 11:11:22.000000000 +0200
@@ -61,7 +61,7 @@ __assert_fail (const char *assertion, co
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
--- libc/assert/assert-perr.c.jj 2005-07-20 10:32:42.000000000 +0200
+++ libc/assert/assert-perr.c 2005-07-20 11:14:06.000000000 +0200
@@ -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
--- libc/stdio-common/perror.c.jj 2005-07-20 10:32:48.000000000 +0200
+++ libc/stdio-common/perror.c 2005-07-20 11:14:20.000000000 +0200
@@ -37,7 +37,7 @@ perror_internal (FILE *fp, const char *s
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);
}
--- libc/stdio-common/psignal.c.jj 2005-07-20 10:32:48.000000000 +0200
+++ libc/stdio-common/psignal.c 2005-07-20 11:15:14.000000000 +0200
@@ -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);
}
--- libc/gmon/gmon.c.jj 2005-07-20 10:32:43.000000000 +0200
+++ libc/gmon/gmon.c 2005-07-20 11:15:26.000000000 +0200
@@ -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;
}
--- libc/resolv/res_hconf.c.jj 2005-07-20 10:32:48.000000000 +0200
+++ libc/resolv/res_hconf.c 2005-07-20 11:16:14.000000000 +0200
@@ -150,7 +150,7 @@ arg_service_list (const char *fname, int
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
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
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,
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,
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_nu
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_
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_
fname, line_num, str) < 0)
break;
- __fxprintf (NULL, "%s", L"%s", buf);
+ __fxprintf (NULL, "%s", buf);
free (buf);
}
--- libc/misc/getpass.c.jj 2005-07-20 10:32:44.000000000 +0200
+++ libc/misc/getpass.c 2005-07-20 11:17:17.000000000 +0200
@@ -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");
}
}
--- libc/misc/error.c.jj 2005-07-20 10:32:44.000000000 +0200
+++ libc/misc/error.c 2005-07-20 11:16:40.000000000 +0200
@@ -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, cons
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
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
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
Jakub
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] __fxprintf tweaks
2005-07-20 10:17 [PATCH] __fxprintf tweaks Jakub Jelinek
@ 2005-07-20 17:49 ` Ulrich Drepper
0 siblings, 0 replies; 2+ messages in thread
From: Ulrich Drepper @ 2005-07-20 17:49 UTC (permalink / raw)
To: Jakub Jelinek; +Cc: Glibc hackers
[-- Attachment #1: Type: text/plain, Size: 255 bytes --]
I wouldn't have thought this makes such a difference so I didn't write
the code this way. I might suggest that there is a problem with merging
wchar_t strings.
--
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 251 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-07-20 17:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-20 10:17 [PATCH] __fxprintf tweaks Jakub Jelinek
2005-07-20 17:49 ` Ulrich Drepper
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).