aboutsummaryrefslogtreecommitdiff
path: root/sunrpc/auth_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc/auth_unix.c')
-rw-r--r--sunrpc/auth_unix.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c
index a03ce0219a..50f955146c 100644
--- a/sunrpc/auth_unix.c
+++ b/sunrpc/auth_unix.c
@@ -50,6 +50,10 @@
#include <rpc/auth.h>
#include <rpc/auth_unix.h>
+#ifdef USE_IN_LIBIO
+# include <wchar.h>
+#endif
+
/*
* Unix authenticator operations vector
*/
@@ -101,15 +105,16 @@ authunix_create (char *machname, uid_t uid, gid_t gid, int len,
* Allocate and set up auth handle
*/
auth = (AUTH *) mem_alloc (sizeof (*auth));
- if (auth == NULL)
- {
- (void) fprintf (stderr, _("authunix_create: out of memory\n"));
- return NULL;
- }
au = (struct audata *) mem_alloc (sizeof (*au));
- if (au == NULL)
+ if (auth == NULL || au == NULL)
{
- (void) fprintf (stderr, _("authunix_create: out of memory\n"));
+#ifdef USE_IN_LIBIO
+ if (_IO_fwide (stderr, 0) > 0)
+ (void) __fwprintf (stderr, L"%s",
+ _("authunix_create: out of memory\n"));
+ else
+#endif
+ (void) fputs (_("authunix_create: out of memory\n"), stderr);
return NULL;
}
auth->ah_ops = &auth_unix_ops;
@@ -139,7 +144,13 @@ authunix_create (char *machname, uid_t uid, gid_t gid, int len,
au->au_origcred.oa_base = mem_alloc ((u_int) len);
if (au->au_origcred.oa_base == NULL)
{
- (void) fputs (_("authunix_create: out of memory\n"), stderr);
+#ifdef USE_IN_LIBIO
+ if (_IO_fwide (stderr, 0) > 0)
+ (void) __fwprintf (stderr, L"%s",
+ _("authunix_create: out of memory\n"));
+ else
+#endif
+ (void) fputs (_("authunix_create: out of memory\n"), stderr);
return NULL;
}
memcpy(au->au_origcred.oa_base, mymem, (u_int) len);