aboutsummaryrefslogtreecommitdiff
path: root/sunrpc/clnt_tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc/clnt_tcp.c')
-rw-r--r--sunrpc/clnt_tcp.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c
index e307652..6267dc7 100644
--- a/sunrpc/clnt_tcp.c
+++ b/sunrpc/clnt_tcp.c
@@ -59,6 +59,9 @@ static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro";
#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);
@@ -117,25 +120,23 @@ clnttcp_create (struct sockaddr_in *raddr, u_long prog, u_long vers,
int *sockp, u_int sendsz, u_int recvsz)
{
CLIENT *h;
- struct ct_data *ct = (struct ct_data *) mem_alloc (sizeof (*ct));
+ struct ct_data *ct;
struct rpc_msg call_msg;
h = (CLIENT *) mem_alloc (sizeof (*h));
- if (h == NULL)
+ ct = (struct ct_data *) mem_alloc (sizeof (*ct));
+ if (h == NULL || ct == NULL)
{
struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) fprintf (stderr, _("clnttcp_create: out of memory\n"));
- ce->cf_stat = RPC_SYSTEMERROR;
- ce->cf_error.re_errno = errno;
- goto fooy;
- }
- /* ct = (struct ct_data *) mem_alloc (sizeof (*ct)); */
- if (ct == NULL)
- {
- struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) fprintf (stderr, _("clnttcp_create: out of memory\n"));
+#ifdef USE_IN_LIBIO
+ if (_IO_fwide (stderr, 0) > 0)
+ (void) __fwprintf (stderr, L"%s",
+ _("clnttcp_create: out of memory\n"));
+ else
+#endif
+ (void) fputs (_("clnttcp_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;
}