fixed MXE once and for all

thanks to @fgsfdsfgs, this is the final thing needed for MXE support
This commit is contained in:
Colton G. Rushton 2020-05-16 19:18:50 -03:00 committed by GitHub
parent 385e396feb
commit 0402ad463b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 4 deletions

View File

@ -3,14 +3,28 @@
#include "ultratypes.h"
// Old deprecated functions from strings.h, replaced by memcpy/memset.
#ifdef NO_BZERO
// old bstring functions that aren't present on some platforms
#if defined(__APPLE__)
// macOS libc has them
#include <strings.h>
#elif defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L)
// there's no way that shit's defined, use memcpy/memset
#include <string.h>
#define bzero(buf, size) memset((buf), 0, (size))
#define bcopy(src, dst, size) memcpy((dst), (src), (size))
#undef bzero
#undef bcopy
#define bzero(buf, len) memset((buf), 0, (len))
#define bcopy(src, dst, len) memcpy((dst), (src), (len))
#else
// hope for the best
extern void bcopy(const void *, void *, size_t);
extern void bzero(void *, size_t);
#endif
#endif /* !_OS_LIBC_H_ */