diff options
Diffstat (limited to 'sysdeps/generic/stpncpy.c')
-rw-r--r-- | sysdeps/generic/stpncpy.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sysdeps/generic/stpncpy.c b/sysdeps/generic/stpncpy.c index 427ed4b228..c821e95419 100644 --- a/sysdeps/generic/stpncpy.c +++ b/sysdeps/generic/stpncpy.c @@ -57,8 +57,6 @@ DEFUN(__stpncpy, (dest, src, n), char *dest AND CONST char *src AND size_t n) goto last_chars; } n -= dest - s; - if (n == 0) - return dest - 1; goto zero_fill; } @@ -70,16 +68,16 @@ DEFUN(__stpncpy, (dest, src, n), char *dest AND CONST char *src AND size_t n) for (;;) { c = *src++; + --n; *dest++ = c; if (c == '\0') break; - if (--n == 0) + if (n == 0) return dest; } - --n; zero_fill: - while (--n > 0) + while (n-- > 0) dest[n] = '\0'; return dest - 1; |