summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2018-03-14 13:43:17 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-03-14 13:43:17 +0100
commitc9a164dfb5ed5b96a77cd09aad76090b435c11c1 (patch)
treeb516c66c12dca47467db796409951ca970c29e39
parentMerge pull request #1880 from pguibert6WIND/enforce_vrf_netns_enable (diff)
downloadfrr-c9a164dfb5ed5b96a77cd09aad76090b435c11c1.tar.xz
frr-c9a164dfb5ed5b96a77cd09aad76090b435c11c1.zip
lib: Fixup strlcat and strlcpy to be a bit more descriptive
When I use these functions and am programming on linux I always have to pull up a man page for these two functions since they exist in *BSD land only. Modify the name of the size variable to destsize on pass in to give me the small hint I need to know what to do. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--lib/strlcat.c14
-rw-r--r--lib/strlcpy.c29
-rw-r--r--lib/zebra.h6
3 files changed, 28 insertions, 21 deletions
diff --git a/lib/strlcat.c b/lib/strlcat.c
index 818630443..be211f82a 100644
--- a/lib/strlcat.c
+++ b/lib/strlcat.c
@@ -28,23 +28,25 @@
#ifndef HAVE_STRLCAT
#undef strlcat
-size_t strlcat(char *__restrict dest, const char *__restrict src, size_t size);
+size_t strlcat(char *__restrict dest,
+ const char *__restrict src, size_t destsize);
-size_t strlcat(char *__restrict dest, const char *__restrict src, size_t size)
+size_t strlcat(char *__restrict dest,
+ const char *__restrict src, size_t destsize)
{
size_t src_length = strlen(src);
/* Our implementation strlcat supports dest == NULL if size == 0
(for consistency with snprintf and strlcpy), but strnlen does
not, so we have to cover this case explicitly. */
- if (size == 0)
+ if (destsize == 0)
return src_length;
- size_t dest_length = strnlen(dest, size);
- if (dest_length != size) {
+ size_t dest_length = strnlen(dest, destsize);
+ if (dest_length != destsize) {
/* Copy at most the remaining number of characters in the
destination buffer. Leave for the NUL terminator. */
- size_t to_copy = size - dest_length - 1;
+ size_t to_copy = destsize - dest_length - 1;
/* But not more than what is available in the source string. */
if (to_copy > src_length)
to_copy = src_length;
diff --git a/lib/strlcpy.c b/lib/strlcpy.c
index b7681754a..b0c33ca7f 100644
--- a/lib/strlcpy.c
+++ b/lib/strlcpy.c
@@ -27,23 +27,26 @@
#ifndef HAVE_STRLCPY
#undef strlcpy
-size_t strlcpy(char *__restrict dest, const char *__restrict src, size_t size);
+size_t strlcpy(char *__restrict dest,
+ const char *__restrict src, size_t destsize);
-size_t strlcpy(char *__restrict dest, const char *__restrict src, size_t size)
+size_t strlcpy(char *__restrict dest,
+ const char *__restrict src, size_t destsize)
{
size_t src_length = strlen(src);
- if (__builtin_expect(src_length >= size, 0)) {
- if (size > 0) {
- /* Copy the leading portion of the string. The last
- character is subsequently overwritten with the NUL
- terminator, but the destination size is usually a
- multiple of a small power of two, so writing it twice
- should be more efficient than copying an odd number
- of
- bytes. */
- memcpy(dest, src, size);
- dest[size - 1] = '\0';
+ if (__builtin_expect(src_length >= destsize, 0)) {
+ if (destsize > 0) {
+ /*
+ * Copy the leading portion of the string. The last
+ * character is subsequently overwritten with the NUL
+ * terminator, but the destination destsize is usually
+ * a multiple of a small power of two, so writing it
+ * twice should be more efficient than copying an odd
+ * number of bytes.
+ */
+ memcpy(dest, src, destsize);
+ dest[destsize - 1] = '\0';
}
} else
/* Copy the string and its terminating NUL character. */
diff --git a/lib/zebra.h b/lib/zebra.h
index 262ad2e43..923f6f77c 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -232,10 +232,12 @@ typedef unsigned char u_int8_t;
#include "zassert.h"
#ifndef HAVE_STRLCAT
-size_t strlcat(char *__restrict dest, const char *__restrict src, size_t size);
+size_t strlcat(char *__restrict dest,
+ const char *__restrict src, size_t destsize);
#endif
#ifndef HAVE_STRLCPY
-size_t strlcpy(char *__restrict dest, const char *__restrict src, size_t size);
+size_t strlcpy(char *__restrict dest,
+ const char *__restrict src, size_t destsize);
#endif
#ifdef HAVE_BROKEN_CMSG_FIRSTHDR