diff options
author | William Wilgus <wilgus.william@gmail.com> | 2022-11-16 00:36:47 -0500 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2022-11-16 00:36:47 -0500 |
commit | 7733abce29734fd0d825504b3094f9efe719360b (patch) | |
tree | 6231cfe9cb8dcbc02afab81c1366d5a7d976a253 | |
parent | 28af87526d348b6f2d98dadfeb01011cd59dc709 (diff) | |
download | rockbox-7733abce29.tar.gz rockbox-7733abce29.zip |
strlcat use strlcpy for the copy part
Change-Id: I729b292a58d9f6542e58ac01d1dc90d36175886d
-rw-r--r-- | firmware/common/strlcat.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/firmware/common/strlcat.c b/firmware/common/strlcat.c index 783ea4daba..f1f0031f06 100644 --- a/firmware/common/strlcat.c +++ b/firmware/common/strlcat.c @@ -16,7 +16,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <string.h> +#include "string-extra.h" /* * Appends src to string dst of size siz (unlike strncat, siz is the @@ -29,9 +29,7 @@ size_t strlcat(char *dst, const char *src, size_t siz) { char *d = dst; - const char *s = src; - size_t n = siz; - size_t dlen; + size_t dlen, n = siz; /* Find the end of dst and adjust bytes left but don't go past end */ while (n-- != 0 && *d != '\0') @@ -39,17 +37,6 @@ strlcat(char *dst, const char *src, size_t siz) dlen = d - dst; n = siz - dlen; - if (n == 0) - return(dlen + strlen(s)); - while (*s != '\0') { - if (n != 1) { - *d++ = *s; - n--; - } - s++; - } - *d = '\0'; - - return(dlen + (s - src)); /* count does not include NUL */ + return strlcpy(dst + dlen, src, n) + dlen; } |