From 6c7eccf05405eacbb76281550cd69895089f9773 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Fri, 29 Oct 2021 16:29:28 +0000 Subject: [PATCH 1/4] Fix FreeBSD support --- endian.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/endian.h b/endian.h index fe2d6fc..104ecda 100644 --- a/endian.h +++ b/endian.h @@ -48,11 +48,11 @@ # define __LITTLE_ENDIAN LITTLE_ENDIAN # define __PDP_ENDIAN PDP_ENDIAN -#elif defined(__OpenBSD__) +#elif defined(__OpenBSD__) || defined(__FreeBSD__) # include -#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) +#elif defined(__NetBSD__) || defined(__DragonFly__) # include From 08c1b80b37bd16fe35634916ae62dc094c928f0e Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sun, 24 Apr 2022 22:44:56 +0200 Subject: [PATCH 2/4] Use __builtin_bswap on little endian windows --- endian.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/endian.h b/endian.h index 104ecda..72f7b1b 100644 --- a/endian.h +++ b/endian.h @@ -72,19 +72,19 @@ # if BYTE_ORDER == LITTLE_ENDIAN -# define htobe16(x) htons(x) +# define htobe16(x) __builtin_bswap16(x) # define htole16(x) (x) -# define be16toh(x) ntohs(x) +# define be16toh(x) __builtin_bswap16(x) # define le16toh(x) (x) -# define htobe32(x) htonl(x) +# define htobe32(x) __builtin_bswap32(x) # define htole32(x) (x) -# define be32toh(x) ntohl(x) +# define be32toh(x) __builtin_bswap32(x) # define le32toh(x) (x) -# define htobe64(x) htonll(x) +# define htobe64(x) __builtin_bswap64(x) # define htole64(x) (x) -# define be64toh(x) ntohll(x) +# define be64toh(x) __builtin_bswap64(x) # define le64toh(x) (x) # elif BYTE_ORDER == BIG_ENDIAN From f24960eca3bb806fa72d8de2b9a761a889fdeee3 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Mon, 25 Apr 2022 12:03:33 +0200 Subject: [PATCH 3/4] Use include_next for system endian.h header --- endian.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/endian.h b/endian.h index 72f7b1b..37881a1 100644 --- a/endian.h +++ b/endian.h @@ -22,7 +22,7 @@ #if defined(__linux__) || defined(__CYGWIN__) -# include +# include_next #elif defined(__APPLE__) From ceaa3bfc35715bfdb117db6c128435fa4a166529 Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Sat, 3 Aug 2024 04:08:13 +0200 Subject: [PATCH 4/4] allow endian.h to be in include path twice --- endian.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/endian.h b/endian.h index 37881a1..0d178df 100644 --- a/endian.h +++ b/endian.h @@ -22,7 +22,9 @@ #if defined(__linux__) || defined(__CYGWIN__) +# undef PORTABLE_ENDIAN_H__ # include_next +# define PORTABLE_ENDIAN_H__ #elif defined(__APPLE__)