diff options
author | David Disseldorp <ddiss@samba.org> | 2015-03-26 12:21:44 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2015-03-26 14:54:20 +0100 |
commit | d02840a3a4d113e17a4225b0e7b1c893634a31d9 (patch) | |
tree | 5b2d9e6f8739c3ca36eb55e6f35ab15470ef4e87 /lib/replace | |
parent | 4cc51f905cb5cd80d2e289a124c0fe1630d945b5 (diff) | |
download | samba-d02840a3a4d113e17a4225b0e7b1c893634a31d9.tar.gz |
replace: clean-up strlcpy and add note on return value
The existing implementation uses single line ifs, making the code hard
to visually parse.
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'lib/replace')
-rw-r--r-- | lib/replace/replace.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/replace/replace.c b/lib/replace/replace.c index 2a9ca3e5abb..9fae44aa5cf 100644 --- a/lib/replace/replace.c +++ b/lib/replace/replace.c @@ -64,14 +64,22 @@ int rep_ftruncate(int f, off_t l) #ifndef HAVE_STRLCPY -/* like strncpy but does not 0 fill the buffer and always null - terminates. bufsize is the size of the destination buffer */ +/* + * Like strncpy but does not 0 fill the buffer and always null + * terminates. bufsize is the size of the destination buffer. + * Returns the length of s. + */ size_t rep_strlcpy(char *d, const char *s, size_t bufsize) { size_t len = strlen(s); size_t ret = len; - if (bufsize <= 0) return 0; - if (len >= bufsize) len = bufsize-1; + + if (bufsize <= 0) { + return 0; + } + if (len >= bufsize) { + len = bufsize - 1; + } memcpy(d, s, len); d[len] = 0; return ret; |