From e0ca2f1cad67ac32fe8796fbb537125074eb849e Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周三, 11 11月 2015 23:13:49 +0800
Subject: [PATCH] Add runtime endiannes test

---
 libscpi/src/utils.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/libscpi/src/utils.c b/libscpi/src/utils.c
index 7902569..eaa3b35 100644
--- a/libscpi/src/utils.c
+++ b/libscpi/src/utils.c
@@ -934,8 +934,12 @@
  * @return 
  */
 scpi_array_format_t SCPI_GetNativeFormat(void) {
-    // @todo: endianity runtime test
-    return SCPI_FORMAT_LITTLEENDIAN;
+    union {
+        uint32_t i;
+        char c[4];
+    } bint = {0x01020304};
+
+    return bint.c[0] == 1 ? SCPI_FORMAT_BIGENDIAN : SCPI_FORMAT_LITTLEENDIAN;
 }
 
 /**

--
Gitblit v1.9.1