From c6c220c3237befa1743f5c858b97ac14ceb1cdab Mon Sep 17 00:00:00 2001 From: DanielSvoboda Date: Sun, 7 Jul 2024 00:36:54 -0300 Subject: [PATCH] strdup for Windows --- src/core/libraries/kernel/file_system.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/core/libraries/kernel/file_system.cpp b/src/core/libraries/kernel/file_system.cpp index 3c5c0ac98..056b84fca 100644 --- a/src/core/libraries/kernel/file_system.cpp +++ b/src/core/libraries/kernel/file_system.cpp @@ -10,6 +10,8 @@ #include "core/libraries/kernel/file_system.h" #include "core/libraries/libs.h" #include "libkernel.h" +#include +#include namespace Libraries::Kernel { @@ -452,4 +454,16 @@ void fileSystemSymbolsRegister(Core::Loader::SymbolsResolver* sym) { posix_open); // _open shoudld be equal to open function } +#ifdef _WIN32 +// Implementation of strdup for Windows, as it is not standard +char* strdup(const char* str) { + size_t len = strlen(str) + 1; // +1 for the final '\0' + char* dup = (char*)malloc(len); + if (dup) { + strcpy_s(dup, len, str); // Using strcpy_s for safety + } + return dup; +} +#endif + } // namespace Libraries::Kernel