replace: clean-up strlcpy and add note on return value
authorDavid Disseldorp <ddiss@samba.org>
Thu, 26 Mar 2015 11:21:44 +0000 (12:21 +0100)
committerMichael Adam <obnox@samba.org>
Thu, 26 Mar 2015 13:54:20 +0000 (14:54 +0100)
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>
lib/replace/replace.c

index 2a9ca3e5abb6b27c021ce903ed5099b2b5cd1762..9fae44aa5cf4aa22a0fcbca4edc75cc9190adb7c 100644 (file)
@@ -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;