summaryrefslogtreecommitdiff
path: root/src/string.cpp
diff options
context:
space:
mode:
authorglx <glx@openttd.org>2008-08-24 17:02:21 +0000
committerglx <glx@openttd.org>2008-08-24 17:02:21 +0000
commit2ddb86eea5c42d235497fa1267408db42af254b3 (patch)
tree4d583b36854c8c29c4b2c087d4a80ea73477af39 /src/string.cpp
parentae32d158cbfc28faa48095025a2e65b00dae1d3b (diff)
downloadopenttd-2ddb86eea5c42d235497fa1267408db42af254b3.tar.xz
(svn r14154) -Fix (r14153): strndup is a GNU extension, so it doesn't exist on all platforms
Diffstat (limited to 'src/string.cpp')
-rw-r--r--src/string.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/string.cpp b/src/string.cpp
index 041fa8e45..9173dc4a5 100644
--- a/src/string.cpp
+++ b/src/string.cpp
@@ -304,3 +304,14 @@ size_t Utf8TrimString(char *s, size_t maxlen)
*s = '\0';
return length;
}
+
+#ifndef _GNU_SOURCE
+#include "core/math_func.hpp"
+char *strndup(const char *s, size_t len)
+{
+ len = min(strlen(s), len);
+ char *tmp = CallocT<char>(len + 1);
+ memcpy(tmp, s, len);
+ return tmp;
+}
+#endif /* !_GNU_SOURCE */