From c5172e0147040fcbb7632d954fa3ffce3a56267c Mon Sep 17 00:00:00 2001 From: Pietro Cerutti Date: Mon, 23 Jan 2017 16:18:14 +0000 Subject: [PATCH] Remove in-house implementation of strsep Issue: #325 --- configure.ac | 3 ++- protos.h | 4 ---- strsep.c | 65 ---------------------------------------------------- 3 files changed, 2 insertions(+), 70 deletions(-) delete mode 100644 strsep.c diff --git a/configure.ac b/configure.ac index 7ca0d80eb..b526d8770 100644 --- a/configure.ac +++ b/configure.ac @@ -454,6 +454,7 @@ AC_CHECK_HEADERS(unix.h) AC_CHECK_FUNCS(setrlimit getsid) AC_CHECK_FUNCS(fgets_unlocked fgetc_unlocked) +AC_CHECK_FUNCS(strcasecmp strncasecmp setenv strdup strsep) AC_MSG_CHECKING(for sig_atomic_t in signal.h) AC_EGREP_HEADER(sig_atomic_t,signal.h, @@ -492,7 +493,7 @@ AC_CHECK_TYPE(ssize_t, int) AC_CHECK_FUNCS(fgetpos memmove setegid srand48 strerror) -AC_REPLACE_FUNCS([strsep strtok_r wcscasecmp]) +AC_REPLACE_FUNCS([strtok_r wcscasecmp]) AC_REPLACE_FUNCS([strcasestr mkdtemp]) AC_CHECK_FUNC(getopt) diff --git a/protos.h b/protos.h index 39186432f..e807ace06 100644 --- a/protos.h +++ b/protos.h @@ -560,10 +560,6 @@ int ci_send_message (int, HEADER *, char *, CONTEXT *, HEADER *); /* prototypes for compatibility functions */ -#ifndef HAVE_STRSEP -char *strsep (char **, const char *); -#endif - #ifndef HAVE_STRTOK_R char *strtok_r (char *, const char *, char **); #endif diff --git a/strsep.c b/strsep.c deleted file mode 100644 index 78ab9e714..000000000 --- a/strsep.c +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 1992, 93, 96, 97, 98, 99, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* Taken from glibc 2.6.1 */ - -char *strsep (char **stringp, const char *delim) -{ - char *begin, *end; - - begin = *stringp; - if (begin == NULL) - return NULL; - - /* A frequent case is when the delimiter string contains only one - character. Here we don't need to call the expensive `strpbrk' - function and instead work using `strchr'. */ - if (delim[0] == '\0' || delim[1] == '\0') - { - char ch = delim[0]; - - if (ch == '\0') - end = NULL; - else - { - if (*begin == ch) - end = begin; - else if (*begin == '\0') - end = NULL; - else - end = strchr (begin + 1, ch); - } - } - else - /* Find the end of the token. */ - end = strpbrk (begin, delim); - - if (end) - { - /* Terminate the token and set *STRINGP past NUL character. */ - *end++ = '\0'; - *stringp = end; - } - else - /* No more delimiters; this is the last token. */ - *stringp = NULL; - - return begin; -} -- 2.40.0