summary refs log tree commit diff
path: root/sunrpc/clnt_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc/clnt_unix.c')
-rw-r--r--sunrpc/clnt_unix.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c
index 19356ad032..64a97a1b68 100644
--- a/sunrpc/clnt_unix.c
+++ b/sunrpc/clnt_unix.c
@@ -56,6 +56,9 @@
 #include <sys/poll.h>
 #include <sys/socket.h>
 #include <rpc/pmap_clnt.h>
+#ifdef USE_IN_LIBIO
+# include <wchar.h>
+#endif
 
 extern u_long _create_xid (void);
 
@@ -119,21 +122,18 @@ clntunix_create (struct sockaddr_un *raddr, u_long prog, u_long vers,
   int len;
 
   h = (CLIENT *) mem_alloc (sizeof (*h));
-  if (h == NULL)
-    {
-      struct rpc_createerr *ce = &get_rpc_createerr ();
-      (void) fputs (_("clntunix_create: out of memory\n"), stderr);
-      ce->cf_stat = RPC_SYSTEMERROR;
-      ce->cf_error.re_errno = errno;
-      goto fooy;
-    }
-  /*  ct = (struct ct_data *) mem_alloc (sizeof (*ct)); */
-  if (ct == NULL)
+  if (h == NULL || ct == NULL)
     {
       struct rpc_createerr *ce = &get_rpc_createerr ();
-      (void) fputs (_("clntunix_create: out of memory\n"), stderr);
+#ifdef USE_IN_LIBIO
+      if (_IO_fwide (stderr, 0) > 0)
+	(void) __fwprintf (stderr, L"%s",
+			   _("clntunix_create: out of memory\n"));
+      else
+#endif
+	(void) fputs (_("clntunix_create: out of memory\n"), stderr);
       ce->cf_stat = RPC_SYSTEMERROR;
-      ce->cf_error.re_errno = errno;
+      ce->cf_error.re_errno = ENOMEM;
       goto fooy;
     }