mirror of https://github.com/OpenTTD/OpenTTD
(svn r14154) -Fix (r14153): strndup is a GNU extension, so it doesn't exist on all platforms
parent
ae32d158cb
commit
2ddb86eea5
|
@ -145,6 +145,11 @@
|
||||||
#include <malloc.h> // alloca()
|
#include <malloc.h> // alloca()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__MINGW32__) && defined(_GNU_SOURCE)
|
||||||
|
/* For some weird reasons, SDL defines _GNU_SOURCE */
|
||||||
|
#undef _GNU_SOURCE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -304,3 +304,14 @@ size_t Utf8TrimString(char *s, size_t maxlen)
|
||||||
*s = '\0';
|
*s = '\0';
|
||||||
return length;
|
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 */
|
||||||
|
|
|
@ -156,4 +156,9 @@ static inline bool IsWhitespace(WChar c)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* STRING_FUNC_H */
|
#ifndef _GNU_SOURCE
|
||||||
|
/* strndup is a GNU extension */
|
||||||
|
char *strndup(const char *s, size_t len);
|
||||||
|
#endif /* WIN32 || SUNOS */
|
||||||
|
|
||||||
|
#endif /* !_GNU_SOURCE */
|
||||||
|
|
Loading…
Reference in New Issue