← Commit list

0590753a3c

Viktor Szakats
Viktor Szakats
2026-02-03
SUCCESS Duration: 459s

Subject

build: require POSIX `strdup()`

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

CMake/unix-cache.cmake+0 -1
@@ -246,7 +246,6 @@ set(HAVE_STDDEF_H 1) # detected by CMake internally in check_type_size()
set(HAVE_STDINT_H 1) # detected by CMake internally in check_type_size()
set(HAVE_STRCASECMP 1)
set(HAVE_STRCMPI 0)
-set(HAVE_STRDUP 1)
set(HAVE_STRERROR_R 1)
set(HAVE_STRICMP 0)
set(HAVE_STRINGS_H 1)
CMakeLists.txt+0 -1
@@ -1612,7 +1612,6 @@ if(NOT WIN32)
check_function_exists("realpath" HAVE_REALPATH)
check_function_exists("sched_yield" HAVE_SCHED_YIELD)
check_symbol_exists("strcasecmp" "string.h" HAVE_STRCASECMP)
- check_symbol_exists("strdup" "string.h" HAVE_STRDUP)
check_symbol_exists("stricmp" "string.h" HAVE_STRICMP)
check_symbol_exists("strcmpi" "string.h" HAVE_STRCMPI)
endif()
configure.ac+0 -1
@@ -4204,7 +4204,6 @@ if test "$curl_cv_native_windows" != "yes"; then
CURL_CHECK_FUNC_INET_PTON
CURL_CHECK_FUNC_STRCASECMP
CURL_CHECK_FUNC_STRCMPI
- CURL_CHECK_FUNC_STRDUP
CURL_CHECK_FUNC_STRICMP
fi
lib/config-os400.h+0 -3
@@ -148,9 +148,6 @@
/* Define if you have the `stricmp' function. */
#define HAVE_STRICMP
-/* Define if you have the `strdup' function. */
-#define HAVE_STRDUP
-
/* Define if you have the <strings.h> header file. */
#define HAVE_STRINGS_H
lib/config-riscos.h+0 -3
@@ -129,9 +129,6 @@
/* Define if you have the `strcmpi' function. */
#undef HAVE_STRCMPI
-/* Define if you have the `strdup' function. */
-#define HAVE_STRDUP
-
/* Define if you have the `stricmp' function. */
#define HAVE_STRICMP
lib/curl_config-cmake.h.in+0 -3
@@ -535,9 +535,6 @@
/* Define to 1 if you have the strcmpi function. */
#cmakedefine HAVE_STRCMPI 1
-/* Define to 1 if you have the strdup function. */
-#cmakedefine HAVE_STRDUP 1
-
/* Define to 1 if you have the strerror_r function. */
#cmakedefine HAVE_STRERROR_R 1
lib/curl_setup.h+0 -2
@@ -1079,8 +1079,6 @@ CURL_EXTERN ALLOC_FUNC FILE *curl_dbg_fdopen(int filedes, const char *mode,
#ifdef _WIN32
#define CURLX_STRDUP_LOW _strdup
-#elif !defined(HAVE_STRDUP)
-#define CURLX_STRDUP_LOW curlx_strdup_low
#else
#define CURLX_STRDUP_LOW strdup
#endif
lib/curlx/strdup.c+0 -18
@@ -49,24 +49,6 @@ wchar_t *curlx_wcsdup(const wchar_t *src)
return (wchar_t *)curlx_memdup(src, (length + 1) * sizeof(wchar_t));
}
-#elif !defined(HAVE_STRDUP)
-char *curlx_strdup_low(const char *str)
-{
- size_t len;
- char *newstr;
-
- if(!str)
- return NULL;
-
- len = strlen(str) + 1;
-
- newstr = curlx_malloc(len);
- if(!newstr)
- return NULL;
-
- memcpy(newstr, str, len);
- return newstr;
-}
#endif
/***************************************************************************
lib/curlx/strdup.h+0 -2
@@ -27,8 +27,6 @@
#ifdef _WIN32
wchar_t *curlx_wcsdup(const wchar_t *src); /* for curlx_tcsdup() */
-#elif !defined(HAVE_STRDUP)
-char *curlx_strdup_low(const char *str);
#endif
void *curlx_memdup(const void *src, size_t buffer_length);
void *curlx_memdup0(const char *src, size_t length);
m4/curl-functions.m4+0 -86
@@ -3935,92 +3935,6 @@ AC_DEFUN([CURL_CHECK_FUNC_STRCMPI], [
])
-dnl CURL_CHECK_FUNC_STRDUP
-dnl -------------------------------------------------
-dnl Verify if strdup is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable curl_disallow_strdup, then
-dnl HAVE_STRDUP will be defined.
-
-AC_DEFUN([CURL_CHECK_FUNC_STRDUP], [
- AC_REQUIRE([CURL_INCLUDES_STRING])dnl
- AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl
- #
- tst_links_strdup="unknown"
- tst_proto_strdup="unknown"
- tst_compi_strdup="unknown"
- tst_allow_strdup="unknown"
- #
- AC_MSG_CHECKING([if strdup can be linked])
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([strdup])
- ],[
- AC_MSG_RESULT([yes])
- tst_links_strdup="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_links_strdup="no"
- ])
- #
- if test "$tst_links_strdup" = "yes"; then
- AC_MSG_CHECKING([if strdup is prototyped])
- AC_EGREP_CPP([strdup],[
- $curl_includes_string
- ],[
- AC_MSG_RESULT([yes])
- tst_proto_strdup="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_proto_strdup="no"
- ])
- fi
- #
- if test "$tst_proto_strdup" = "yes"; then
- AC_MSG_CHECKING([if strdup is compilable])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $curl_includes_string
- $curl_includes_stdlib
- ]],[[
- free(strdup(""));
- ]])
- ],[
- AC_MSG_RESULT([yes])
- tst_compi_strdup="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_compi_strdup="no"
- ])
- fi
- #
- if test "$tst_compi_strdup" = "yes"; then
- AC_MSG_CHECKING([if strdup usage allowed])
- if test "x$curl_disallow_strdup" != "xyes"; then
- AC_MSG_RESULT([yes])
- tst_allow_strdup="yes"
- else
- AC_MSG_RESULT([no])
- tst_allow_strdup="no"
- fi
- fi
- #
- AC_MSG_CHECKING([if strdup might be used])
- if test "$tst_links_strdup" = "yes" &&
- test "$tst_proto_strdup" = "yes" &&
- test "$tst_compi_strdup" = "yes" &&
- test "$tst_allow_strdup" = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(HAVE_STRDUP, 1,
- [Define to 1 if you have the strdup function.])
- curl_cv_func_strdup="yes"
- else
- AC_MSG_RESULT([no])
- curl_cv_func_strdup="no"
- fi
-])
-
-
dnl CURL_CHECK_FUNC_STRERROR_R
dnl -------------------------------------------------
dnl Verify if strerror_r is available, prototyped, can be compiled and