diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2016-11-28 17:46:55 +0100 |
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2016-11-28 17:46:55 +0100 |
| commit | bf31fc8174b6d130b90e6ee1a67c543c3c8f1615 (patch) | |
| tree | e3242279b998a73675017c24b173ce3365c1947a /lib/str.c | |
| parent | ddbaf941d9618125eb9d1a778c1f704c84109abf (diff) | |
lib: pre-remove str.[ch] for merge, move strmatch()
lib/str.[ch] was removed in cleaning up autoconf deadweight.
best place for strmatch seems to be a #define in zebra.h
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'lib/str.c')
| -rw-r--r-- | lib/str.c | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/lib/str.c b/lib/str.c deleted file mode 100644 index cfdb6e024e..0000000000 --- a/lib/str.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * zebra string function - * - * XXX This version of snprintf does not check bounds! - */ - -/* - The implementations of strlcpy and strlcat are copied from rsync (GPL): - Copyright (C) Andrew Tridgell 1998 - Copyright (C) 2002 by Martin Pool - - Note that these are not terribly efficient, since they make more than one - pass over the argument strings. At some point, they should be optimized. - - The implementation of strndup is copied from glibc-2.3.5: - Copyright (C) 1996, 1997, 1998, 2001, 2002 Free Software Foundation, Inc. -*/ - -/* - * This file is part of Quagga. - * - * Quagga is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2, or (at your option) any - * later version. - * - * Quagga is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Quagga; see the file COPYING. If not, write to the Free - * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#include <zebra.h> - -#ifndef HAVE_SNPRINTF -/* - * snprint() is a real basic wrapper around the standard sprintf() - * without any bounds checking - */ -int -snprintf(char *str, size_t size, const char *format, ...) -{ - va_list args; - - va_start (args, format); - - return vsprintf (str, format, args); -} -#endif - -#ifndef HAVE_STRLCPY -/* - * Copy string src to buffer dst of size dsize. At most dsize-1 - * chars will be copied. Always NUL terminates (unless dsize == 0). - * Returns strlen(src); if retval >= dsize, truncation occurred. - */ -size_t -strlcpy(char *dst, const char *src, size_t dsize) -{ - const char *osrc = src; - size_t nleft = dsize; - - /* Copy as many bytes as will fit. */ - if (nleft != 0) { - while (--nleft != 0) { - if ((*dst++ = *src++) == '\0') - break; - } - } - - /* Not enough room in dst, add NUL and traverse rest of src. */ - if (nleft == 0) { - if (dsize != 0) - *dst = '\0'; /* NUL-terminate dst */ - while (*src++) - ; - } - - return(src - osrc - 1); /* count does not include NUL */ -} -#endif - -#ifndef HAVE_STRLCAT -/** - * Like strncat() but does not 0 fill the buffer and always null - * terminates. - * - * @param bufsize length of the buffer, which should be one more than - * the maximum resulting string length. - **/ -size_t -strlcat(char *d, const char *s, size_t bufsize) -{ - size_t len1 = strlen(d); - size_t len2 = strlen(s); - size_t ret = len1 + len2; - - if (len1 < bufsize - 1) { - if (len2 >= bufsize - len1) - len2 = bufsize - len1 - 1; - memcpy(d+len1, s, len2); - d[len1+len2] = 0; - } - return ret; -} -#endif - -#ifndef HAVE_STRNLEN -size_t -strnlen(const char *s, size_t maxlen) -{ - const char *p; - return (p = (const char *)memchr(s, '\0', maxlen)) ? (size_t)(p-s) : maxlen; -} -#endif - -#ifndef HAVE_STRNDUP -char * -strndup (const char *s, size_t maxlen) -{ - size_t len = strnlen (s, maxlen); - char *new = (char *) malloc (len + 1); - - if (new == NULL) - return NULL; - - new[len] = '\0'; - return (char *) memcpy (new, s, len); -} -#endif - -extern int -strmatch (const char *str1, const char *str2) -{ - if (!strcmp(str1, str2)) - return 1; - return 0; -} |
