From 1f095052485c8cdb628099b70878308c7cf3d36e Mon Sep 17 00:00:00 2001 From: Marko Mikulicic <mkm@cesanta.com> Date: Tue, 25 Oct 2016 10:14:59 +0200 Subject: [PATCH] Fix byte order defines under OSX PUBLISHED_FROM=327a8d729519aa0ad953594a32d63fddac4d1ec9 --- mongoose.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mongoose.h b/mongoose.h index 7f1ecb0a5..ae34e7810 100644 --- a/mongoose.h +++ b/mongoose.h @@ -342,13 +342,24 @@ typedef struct _stati64 cs_stat_t; #include <sys/types.h> #include <unistd.h> +#ifdef __APPLE__ +#include <machine/endian.h> +#ifndef BYTE_ORDER +#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN +#define BIG_ENDIAN __DARWIN_BIG_ENDIAN +#define PDP_ENDIAN __DARWIN_PDP_ENDIAN +#define BYTE_ORDER __DARWIN_BYTE_ORDER +#endif +#endif + /* * osx correctly avoids defining strtoll when compiling in strict ansi mode. * c++ 11 standard defines strtoll as well. * We require strtoll, and if your embedded pre-c99 compiler lacks one, please * implement a shim. */ -#if !(defined(__cplusplus) && __cplusplus >= 201103L) && !(defined(__DARWIN_C_LEVEL) && __DARWIN_C_LEVEL >= 200809L) +#if !(defined(__cplusplus) && __cplusplus >= 201103L) && \ + !(defined(__DARWIN_C_LEVEL) && __DARWIN_C_LEVEL >= 200809L) long long strtoll(const char *, char **, int); #endif -- GitLab