Smack: add the execute lable to ldconfig
[platform/upstream/glibc.git] / string / strncpy.c
index 19d501e..37af5aa 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -57,10 +57,10 @@ STRNCPY (char *s1, const char *s2, size_t n)
          if (--n4 == 0)
            goto last_chars;
        }
-      n = n - (s1 - s) - 1;
-      if (n == 0)
-       return s;
-      goto zero_fill;
+      s1++;
+      n = n - (s1 - s);
+      memset (s1, '\0', n);
+      return s;
     }
 
  last_chars:
@@ -77,11 +77,7 @@ STRNCPY (char *s1, const char *s2, size_t n)
     }
   while (c != '\0');
 
- zero_fill:
-  do
-    *++s1 = '\0';
-  while (--n > 0);
-
+  memset (s1 + 1, '\0', n);
   return s;
 }
 libc_hidden_builtin_def (strncpy)