From bdf52410e14ef93c4997e020cfa2c0428d8c511f Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Sun, 12 Feb 2012 17:19:25 -0800 Subject: [PATCH 1/3] Make plString build on mingw. --- Sources/Plasma/CoreLib/plString.cpp | 17 +++++++++++++++++ Sources/Plasma/CoreLib/plString.h | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Sources/Plasma/CoreLib/plString.cpp b/Sources/Plasma/CoreLib/plString.cpp index 7ca66336..f32aeb74 100644 --- a/Sources/Plasma/CoreLib/plString.cpp +++ b/Sources/Plasma/CoreLib/plString.cpp @@ -48,6 +48,23 @@ static inline size_t u16slen(const uint16_t *ustr, size_t max) } #endif +/* Provide strnlen and wcsnlen for MinGW which doesn't have them */ +#ifdef __MINGW32__ +size_t strnlen(const char *s, size_t maxlen) +{ + size_t len; + for (len = 0; len < maxlen && *s; len++, s++) { } + return len; +} + +size_t wcsnlen(const wchar_t *s, size_t maxlen) +{ + size_t len; + for (len = 0; len < maxlen && *s; len++, s++) { } + return len; +} +#endif + #define BADCHAR_REPLACEMENT (0xFFFDul) void plString::IConvertFromUtf8(const char *utf8, size_t size, bool steal) diff --git a/Sources/Plasma/CoreLib/plString.h b/Sources/Plasma/CoreLib/plString.h index c8a46774..e83ab988 100644 --- a/Sources/Plasma/CoreLib/plString.h +++ b/Sources/Plasma/CoreLib/plString.h @@ -121,7 +121,7 @@ class plString #pragma warning(push) #pragma warning(disable : 4146) enum { - kSizeAuto = (size_t)(-2147483648L) + kSizeAuto = (size_t)(-2147483648UL) }; #pragma warning(pop) From b5d9c3ffec28396259ba031871e86125d55fc9cd Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Sun, 19 Feb 2012 14:37:04 -0800 Subject: [PATCH 2/3] Use a correct value that doesn't cause warnings. --- Sources/Plasma/CoreLib/plString.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Plasma/CoreLib/plString.h b/Sources/Plasma/CoreLib/plString.h index e83ab988..c6046a17 100644 --- a/Sources/Plasma/CoreLib/plString.h +++ b/Sources/Plasma/CoreLib/plString.h @@ -121,7 +121,7 @@ class plString #pragma warning(push) #pragma warning(disable : 4146) enum { - kSizeAuto = (size_t)(-2147483648UL) + kSizeAuto = (size_t)(0x80000000) }; #pragma warning(pop) From ab8d7619d3ecdbc22e0d8180c63f998fadd54918 Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Sun, 19 Feb 2012 14:39:46 -0800 Subject: [PATCH 3/3] Remove the pragma stuff since there's no warning. --- Sources/Plasma/CoreLib/plString.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/Sources/Plasma/CoreLib/plString.h b/Sources/Plasma/CoreLib/plString.h index c6046a17..82234ded 100644 --- a/Sources/Plasma/CoreLib/plString.h +++ b/Sources/Plasma/CoreLib/plString.h @@ -118,12 +118,9 @@ public: class plString { -#pragma warning(push) -#pragma warning(disable : 4146) enum { kSizeAuto = (size_t)(0x80000000) }; -#pragma warning(pop) public: static const plString Null;