diff options
author | Arun Prakash Jana <engineerarun@gmail.com> | 2017-04-02 21:15:31 +0530 |
---|---|---|
committer | Arun Prakash Jana <engineerarun@gmail.com> | 2017-04-02 21:45:10 +0530 |
commit | 87e0891b8d8b9ac2779d2785ac6fd6e946fdcc5b (patch) | |
tree | 735286b4f89d0f297483d9be768e028569f194db /strlcat.c | |
parent | 4bc2ce0fbc27180ea5108121fec93eebf3112de1 (diff) | |
download | nnn-87e0891b8d8b9ac2779d2785ac6fd6e946fdcc5b.tar.gz |
Remove redundant stuff
1. Have a faster copy of strlcpy()
2. Remove redundant legacy files
3. Fix an issue with NULL check on array name
Diffstat (limited to 'strlcat.c')
-rw-r--r-- | strlcat.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/strlcat.c b/strlcat.c deleted file mode 100644 index bc523fb..0000000 --- a/strlcat.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 1998, 2015 Todd C. Miller <Todd.Miller@courtesan.com> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include <sys/types.h> -#include <string.h> - -#include "util.h" - -/* - * Appends src to string dst of size dsize (unlike strncat, dsize is the - * full size of dst, not space left). At most dsize-1 characters - * will be copied. Always NUL terminates (unless dsize <= strlen(dst)). - * Returns strlen(src) + MIN(dsize, strlen(initial dst)). - * If retval >= dsize, truncation occurred. - */ -size_t -strlcat(char *dst, const char *src, size_t dsize) -{ - const char *odst = dst; - const char *osrc = src; - size_t n = dsize; - size_t dlen; - - /* Find the end of dst and adjust bytes left but don't go past end. */ - while (n-- != 0 && *dst != '\0') - dst++; - dlen = dst - odst; - n = dsize - dlen; - - if (n-- == 0) - return(dlen + strlen(src)); - while (*src != '\0') { - if (n != 0) { - *dst++ = *src; - n--; - } - src++; - } - *dst = '\0'; - - return(dlen + (src - osrc)); /* count does not include NUL */ -} |