From 0cd7854e0548022a9810325c73b3b5b7f30b2e43 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 1 Mar 2014 12:05:28 -0800 Subject: [PATCH] unit: Fix hton24 function for big endian platforms --- unit/test-avrcp.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c index db9cb923b..302c33151 100644 --- a/unit/test-avrcp.c +++ b/unit/test-avrcp.c @@ -93,26 +93,13 @@ struct context { g_test_add_data_func(name, &data, function); \ } while (0) -#if __BYTE_ORDER == __LITTLE_ENDIAN - -static inline void hton24(uint8_t dst[3], uint32_t src) -{ - dst[0] = (src >> 16) & 0xff; - dst[1] = (src >> 8) & 0xff; - dst[2] = src & 0xff; -} - -#elif __BYTE_ORDER == __BIG_ENDIAN - static inline void hton24(uint8_t dst[3], uint32_t src) { - memcpy(&dst, src, sizeof(dst)); + dst[0] = (src & 0xff0000) >> 16; + dst[1] = (src & 0x00ff00) >> 8; + dst[2] = (src & 0x0000ff); } -#else -#error "Unknown byte order" -#endif - static void test_debug(const char *str, void *user_data) { const char *prefix = user_data; -- 2.47.3