From b69b0be6101b7da38d485e2b3aec82083e12fd6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Tue, 7 Nov 2017 20:26:12 +0100 Subject: [PATCH] Move strndup implementation to shared.c --- src/openrct2/platform/shared.c | 17 +++++++++++++++++ src/openrct2/platform/windows.c | 15 --------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/openrct2/platform/shared.c b/src/openrct2/platform/shared.c index 685b6b516b..dfab5c2fea 100644 --- a/src/openrct2/platform/shared.c +++ b/src/openrct2/platform/shared.c @@ -49,6 +49,23 @@ mach_timebase_info_data_t _mach_base_info = { 0 }; #endif +#if !((defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809L) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 700)) +char *strndup(const char *src, size_t size) +{ + size_t len = strnlen(src, size); + char *dst = (char *)malloc(len + 1); + + if (dst == NULL) + { + return NULL; + } + + dst = memcpy(dst, src, len); + dst[len] = '\0'; + return (char *)dst; +} +#endif // !((defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809L) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 700)) + #ifdef _WIN32 static uint32 _frequency = 0; static LARGE_INTEGER _entryTimestamp; diff --git a/src/openrct2/platform/windows.c b/src/openrct2/platform/windows.c index d2cda97134..95dfc2fa2a 100644 --- a/src/openrct2/platform/windows.c +++ b/src/openrct2/platform/windows.c @@ -750,21 +750,6 @@ uint8 platform_get_locale_date_format() return DATE_FORMAT_DAY_MONTH_YEAR; } -char *strndup(const char *src, size_t size) -{ - size_t len = strnlen(src, size); - char *dst = (char *)malloc(len + 1); - - if (dst == NULL) - { - return NULL; - } - - dst = memcpy(dst, src, len); - dst[len] = '\0'; - return (char *)dst; -} - void platform_get_exe_path(utf8 *outPath, size_t outSize) { wchar_t exePath[MAX_PATH];