Ian Kent 5d76ad
autofs-5.0.4 - srv lookup handle endianness
Ian Kent 5d76ad
Ian Kent 5d76ad
From: Ian Kent <raven@themaw.net>
Ian Kent 5d76ad
Ian Kent 5d76ad
Ian Kent 5d76ad
---
Ian Kent 5d76ad
Ian Kent 5d76ad
 modules/dclist.c |    6 ++++++
Ian Kent 5d76ad
 1 files changed, 6 insertions(+), 0 deletions(-)
Ian Kent 5d76ad
Ian Kent 5d76ad
Ian Kent 5d76ad
diff --git a/modules/dclist.c b/modules/dclist.c
Ian Kent 5d76ad
index 5b0e577..967581c 100644
Ian Kent 5d76ad
--- a/modules/dclist.c
Ian Kent 5d76ad
+++ b/modules/dclist.c
Ian Kent 5d76ad
@@ -34,6 +34,7 @@
Ian Kent 5d76ad
 #include <ldap.h>
Ian Kent 5d76ad
 #include <sys/param.h>
Ian Kent 5d76ad
 #include <errno.h>
Ian Kent 5d76ad
+#include <endian.h>
Ian Kent 5d76ad
 
Ian Kent 5d76ad
 #include "automount.h"
Ian Kent 5d76ad
 #include "dclist.h"
Ian Kent 5d76ad
@@ -72,8 +73,13 @@
Ian Kent 5d76ad
 #define SVAL(buf, pos) (*(const uint16_t *)((const char *)(buf) + (pos)))
Ian Kent 5d76ad
 #define IVAL(buf, pos) (*(const uint32_t *)((const char *)(buf) + (pos)))
Ian Kent 5d76ad
 
Ian Kent 5d76ad
+#if __BYTE_ORDER == __LITTLE_ENDIAN
Ian Kent 5d76ad
 #define SREV(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF))
Ian Kent 5d76ad
 #define IREV(x) ((SREV(x)<<16) | (SREV((x)>>16)))
Ian Kent 5d76ad
+#else
Ian Kent 5d76ad
+#define SREV(x) (x)
Ian Kent 5d76ad
+#define IREV(x) (x)
Ian Kent 5d76ad
+#endif
Ian Kent 5d76ad
 
Ian Kent 5d76ad
 #define RSVAL(buf, pos) SREV(SVAL(buf, pos))
Ian Kent 5d76ad
 #define RIVAL(buf, pos) IREV(IVAL(buf, pos))