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