From cacf05e0e386d0154082e6824f3e907150f75157 Mon Sep 17 00:00:00 2001 From: Miod Vallat Date: Thu, 27 Mar 2025 08:58:47 +0100 Subject: [PATCH] No need to check for or provide strcaststr() anymore. --- configure.ac | 2 +- meson/various-functions/meson.build | 1 - pdns/recursordist/configure.ac | 2 +- pdns/ws-api.cc | 41 ----------------------------- 4 files changed, 2 insertions(+), 44 deletions(-) diff --git a/configure.ac b/configure.ac index b0fec7b40b..ae48b1cb7c 100644 --- a/configure.ac +++ b/configure.ac @@ -148,7 +148,7 @@ PDNS_FROM_GIT dnl Checks for library functions. dnl the *_r functions are in posix so we can use them unconditionally, but the ext/yahttp code is dnl using the defines. -AC_CHECK_FUNCS_ONCE([strcasestr localtime_r gmtime_r recvmmsg sched_setscheduler]) +AC_CHECK_FUNCS_ONCE([localtime_r gmtime_r recvmmsg sched_setscheduler]) AC_CHECK_FUNCS_ONCE([getrandom getentropy arc4random arc4random_uniform arc4random_buf]) PDNS_CHECK_SECURE_MEMSET diff --git a/meson/various-functions/meson.build b/meson/various-functions/meson.build index 8c268d5720..5137336c30 100644 --- a/meson/various-functions/meson.build +++ b/meson/various-functions/meson.build @@ -1,5 +1,4 @@ funcs = [ - 'strcasestr', 'localtime_r', 'gmtime_r', 'recvmmsg', diff --git a/pdns/recursordist/configure.ac b/pdns/recursordist/configure.ac index 84432232fd..db7d3cfbb2 100644 --- a/pdns/recursordist/configure.ac +++ b/pdns/recursordist/configure.ac @@ -105,7 +105,7 @@ PDNS_CHECK_CURL dnl the *_r functions are in posix so we can use them unconditionally, but the ext/yahttp code is dnl using the defines. -AC_CHECK_FUNCS_ONCE([localtime_r gmtime_r strcasestr]) +AC_CHECK_FUNCS_ONCE([localtime_r gmtime_r]) AC_CHECK_FUNCS_ONCE([getrandom getentropy arc4random arc4random_uniform arc4random_buf]) PDNS_CHECK_SECURE_MEMSET diff --git a/pdns/ws-api.cc b/pdns/ws-api.cc index 329e5aeba6..3c204ae31e 100644 --- a/pdns/ws-api.cc +++ b/pdns/ws-api.cc @@ -50,47 +50,6 @@ using json11::Json; extern StatBag S; #endif -#ifndef HAVE_STRCASESTR - -/* - * strcasestr() locates the first occurrence in the string s1 of the - * sequence of characters (excluding the terminating null character) - * in the string s2, ignoring case. strcasestr() returns a pointer - * to the located string, or a null pointer if the string is not found. - * If s2 is empty, the function returns s1. - */ - -static char* -strcasestr(const char* s1, const char* s2) -{ - int* cm = __trans_lower; - const uchar_t* us1 = (const uchar_t*)s1; - const uchar_t* us2 = (const uchar_t*)s2; - const uchar_t* tptr; - int c; - - if (us2 == NULL || *us2 == '\0') - return ((char*)us1); - - c = cm[*us2]; - while (*us1 != '\0') { - if (c == cm[*us1++]) { - tptr = us1; - while (cm[c = *++us2] == cm[*us1++] && c != '\0') - continue; - if (c == '\0') - return ((char*)tptr - 1); - us1 = tptr; - us2 = (const uchar_t*)s2; - c = cm[*us2]; - } - } - - return (NULL); -} - -#endif // HAVE_STRCASESTR - static Json getServerDetail() { return Json::object{ -- 2.47.2