about summary refs log tree commit diff
path: root/nis/nis_domain_of_r.c
diff options
context:
space:
mode:
Diffstat (limited to 'nis/nis_domain_of_r.c')
-rw-r--r--nis/nis_domain_of_r.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/nis/nis_domain_of_r.c b/nis/nis_domain_of_r.c
index 167a499b80..ca298f3505 100644
--- a/nis/nis_domain_of_r.c
+++ b/nis/nis_domain_of_r.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1997 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
 
@@ -29,7 +29,7 @@ nis_domain_of_r (const_nis_name name, char *buffer, size_t buflen)
 
   if (buffer == NULL)
     {
-      errno = ERANGE;
+      __set_errno (ERANGE);
       return NULL;
     }
 
@@ -44,14 +44,14 @@ nis_domain_of_r (const_nis_name name, char *buffer, size_t buflen)
   cptr_len = strlen (cptr);
 
   if (cptr_len == 0)
-    strcpy (buffer, ".");
-  else if (cptr_len >= buflen)
+    return strcpy (buffer, ".");
+
+  if (__builtin_expect (cptr_len >= buflen, 0))
     {
-      errno = ERANGE;
+      __set_errno (ERANGE);
       return NULL;
     }
-  else
-    memcpy (buffer, cptr, cptr_len + 1);
 
-  return buffer;
+  return memcpy (buffer, cptr, cptr_len + 1);
 }
+libnsl_hidden_proto (nis_domain_of_r)