Blame autofs-5.0.4-srv-lookup-handle-endian.patch
|
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))
|