diff options
author | Alejandro Colomar <alx@kernel.org> | 2023-11-21 18:57:19 +0100 |
---|---|---|
committer | Alejandro Colomar <alx@kernel.org> | 2023-11-21 19:30:48 +0100 |
commit | 7f19af3783237251da741a3a1a3a0c29740c5c74 (patch) | |
tree | 8d3f517a7450128e3ea89bcd98bdad5c5df524be | |
parent | 2f5a642435bf537fa306f0a7c74f0ac66f58e4bb (diff) |
stpncpy.3: Optimize possible implementation of stpncpy()
Don't zero twice, since it can be confusing. Since bzero(3) returns
void, we need memset(3) here.
Reported-by: Paul Eggert <eggert@cs.ucla.edu>
Cowritten-by: Paul Eggert <eggert@cs.ucla.edu>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r-- | man3/stpncpy.3 | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/man3/stpncpy.3 b/man3/stpncpy.3 index 0773810a6..53a08bb7a 100644 --- a/man3/stpncpy.3 +++ b/man3/stpncpy.3 @@ -62,8 +62,10 @@ strncpy(char *restrict dst, const char *restrict src, size_t sz) char * stpncpy(char *restrict dst, const char *restrict src, size_t sz) { - bzero(dst, sz); - return mempcpy(dst, src, strnlen(src, sz)); + size_t dlen; + + dlen = strnlen(src, sz); + return memset(mempcpy(dst, src, dlen), 0, sz \- dlen); } .EE .in |