From 9f66cdddf4ca4e211f79af28d92b000b839cdddc Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 28 Mar 2026 00:02:04 +0100 Subject: [PATCH] tool_dirhie: stop redefining system symbol `mkdir` Replace with local macro `toolx_mkdir()`, and map that to platform-specific implementations as necessary. Closes #21133 --- src/tool_dirhie.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tool_dirhie.c b/src/tool_dirhie.c index 69011898ee..894c638034 100644 --- a/src/tool_dirhie.c +++ b/src/tool_dirhie.c @@ -28,9 +28,11 @@ #ifdef _WIN32 # include -# define mkdir(x, y) _mkdir(x) +# define toolx_mkdir(x, y) _mkdir(x) #elif defined(MSDOS) && !defined(__DJGPP__) -# define mkdir(x, y) (mkdir)(x) +# define toolx_mkdir(x, y) mkdir(x) +#else +# define toolx_mkdir mkdir #endif static void show_dir_errno(const char *name) @@ -120,7 +122,7 @@ CURLcode create_dir_hierarchy(const char *outfile) /* Create directory. Ignore access denied error to allow traversal. */ /* !checksrc! disable ERRNOVAR 1 */ - if(!skip && (mkdir(curlx_dyn_ptr(&dirbuf), (mode_t)0000750) == -1) && + if(!skip && (toolx_mkdir(curlx_dyn_ptr(&dirbuf), (mode_t)0000750) == -1) && (errno != EACCES) && (errno != EEXIST)) { show_dir_errno(curlx_dyn_ptr(&dirbuf)); result = CURLE_WRITE_ERROR;