[PATCH] pcmciautils: handle big endian host in dump_cis

dump_cis: Use glibc functionality for detecting host endian and byte
swapping.

Signed-off-by: Kars de Jong <jongk@linux-m68k.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
diff --git a/debug/parse_cis.c b/debug/parse_cis.c
index 4388394..26edc41 100644
--- a/debug/parse_cis.c
+++ b/debug/parse_cis.c
@@ -18,6 +18,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
+#include <endian.h>
+#include <byteswap.h>
 
 #include "../src/cistpl.h"
 
@@ -40,9 +42,13 @@
     (mantissa[((v)>>3)&15] * exponent[(v)&7] / 10)
 #define POWER_SCALE(v)          (exponent[(v)&7])
 
-/* FIXME: how to handle this in userspace? */
-#define le32_to_cpu(value) (value)
-#define le16_to_cpu(value) (value)
+#if __BYTE_ORDER == __BIG_ENDIAN
+# define le32_to_cpu(value) bswap_32(value)
+# define le16_to_cpu(value) bswap_16(value)
+#else
+# define le32_to_cpu(value) (value)
+# define le16_to_cpu(value) (value)
+#endif
 
 static int parse_device(tuple_t *tuple, cistpl_device_t *device)
 {