about summary refs log tree commit diff
path: root/src/network/ntohl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/ntohl.c')
-rw-r--r--src/network/ntohl.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/network/ntohl.c b/src/network/ntohl.c
index 64379196..d6fce459 100644
--- a/src/network/ntohl.c
+++ b/src/network/ntohl.c
@@ -1,10 +1,8 @@
 #include <netinet/in.h>
+#include <byteswap.h>
 
 uint32_t ntohl(uint32_t n)
 {
-	union {
-		uint32_t i;
-		uint8_t b[4];
-	} u = { n };
-	return (u.b[0]<<24) | (u.b[1]<<16) | (u.b[2]<<8) | u.b[3];
+	union { int i; char c; } u = { 1 };
+	return u.c ? bswap_32(n) : n;
 }