diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-08-17 04:49:12 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-08-17 04:49:12 +0000 |
commit | 51028f34ceeb7c4c91abc2ac2b818afeaa671b91 (patch) | |
tree | 165d143b47736e6438b31cfb98d80fdc11cdcbb5 /sunrpc/svc_unix.c | |
parent | d79e55530924e8fc9b33991ab4df33653480ec0a (diff) | |
download | glibc-51028f34ceeb7c4c91abc2ac2b818afeaa671b91.tar.gz glibc-51028f34ceeb7c4c91abc2ac2b818afeaa671b91.tar.xz glibc-51028f34ceeb7c4c91abc2ac2b818afeaa671b91.zip |
Update.
* libio/tst-ungetwc2.c (main): Define str const. * include/wchar.h: Add prototypes for __fwprintf and __vfwprintf. * libio/fwprintf.c: Also define __fwprintf. * stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf. * argp/argp-fmtstream.c: Handle wide oriented stderr stream. * assert/assert-perr.c: Likewise. * assert/assert.c: Likewise. * gmon/gmon.c: Likewise. * inet/rcmd.c: Likewise. * malloc/obstack.c: Likewise. * misc/err.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. * misc/err.c: Handle wide oriented stderr stream.
Diffstat (limited to 'sunrpc/svc_unix.c')
-rw-r--r-- | sunrpc/svc_unix.c | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c index 20bc0aaf38..99e5a2a781 100644 --- a/sunrpc/svc_unix.c +++ b/sunrpc/svc_unix.c @@ -49,6 +49,10 @@ #include <stdlib.h> #include <libintl.h> +#ifdef USE_IN_LIBIO +# include <wchar.h> +#endif + /* * Ops vector for AF_UNIX based rpc service handle */ @@ -166,19 +170,19 @@ svcunix_create (int sock, u_int sendsize, u_int recvsize, char *path) } r = (struct unix_rendezvous *) mem_alloc (sizeof (*r)); - if (r == NULL) + xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT)); + if (r == NULL || xprt == NULL) { - fputs (_("svcunix_create: out of memory\n"), stderr); +#ifdef USE_IN_LIBIO + if (_IO_fwide (stderr, 0) > 0) + __fwprintf (stderr, L"%s", _("svcunix_create: out of memory\n")); + else +#endif + fputs (_("svcunix_create: out of memory\n"), stderr); return NULL; } r->sendsize = sendsize; r->recvsize = recvsize; - xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT)); - if (xprt == NULL) - { - fputs (_("svcunix_create: out of memory\n"), stderr); - return NULL; - } xprt->xp_p2 = NULL; xprt->xp_p1 = (caddr_t) r; xprt->xp_verf = _null_auth; @@ -207,18 +211,17 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize) struct unix_conn *cd; xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT)); - if (xprt == (SVCXPRT *) NULL) - { - (void) fputs (_("svc_unix: makefd_xprt: out of memory\n"), stderr); - goto done; - } cd = (struct unix_conn *) mem_alloc (sizeof (struct unix_conn)); - if (cd == (struct unix_conn *) NULL) + if (xprt == (SVCXPRT *) NULL || cd == (struct unix_conn *) NULL) { - (void) fputs (_("svc_unix: makefd_xprt: out of memory\n"), stderr); - mem_free ((char *) xprt, sizeof (SVCXPRT)); - xprt = (SVCXPRT *) NULL; - goto done; +#ifdef USE_IN_LIBIO + if (_IO_fwide (stderr, 0) > 0) + (void) __fwprintf (stderr, L"%s", + _("svc_unix: makefd_xprt: out of memory\n")); + else +#endif + (void) fputs (_("svc_unix: makefd_xprt: out of memory\n"), stderr); + return NULL; } cd->strm_stat = XPRT_IDLE; xdrrec_create (&(cd->xdrs), sendsize, recvsize, @@ -231,7 +234,6 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize) xprt->xp_port = 0; /* this is a connection, not a rendezvouser */ xprt->xp_sock = fd; xprt_register (xprt); -done: return xprt; } |