From: Nick Bowler Date: Wed, 26 Dec 2007 23:13:06 +0000 (-0500) Subject: Update byte order stuff. X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/commitdiff_plain/4984faeea7e8ff655d950189f28b2787a571d7d9 Update byte order stuff. --- diff --git a/src/Makefile.am b/src/Makefile.am index 8164c0f..d1ddaf2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2,7 +2,7 @@ lib_LTLIBRARIES = liblbx.la bin_PROGRAMS = lbxtool include_HEADERS = lbx.h -liblbx_la_SOURCES = lbx.c +liblbx_la_SOURCES = byteorder.h lbx.c lbxtool_SOURCES = lbxtool.c lbxtool_LDADD = liblbx.la diff --git a/src/byteorder.c b/src/byteorder.c deleted file mode 100644 index 76340a4..0000000 --- a/src/byteorder.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include "byteorder.h" - -uint16_t letohs(uint16_t val) -{ - uint16_t hostval; - int i; - - for (i = 0; i < sizeof val; i++) - ((uint8_t *)&hostval)[i] = ((uint8_t *)&val)[sizeof val - i]; -} - -uint32_t letohl(uint32_t val) -{ - uint32_t hostval; - int i; - - for (i = 0; i < sizeof val; i++) - ((uint8_t *)&hostval)[i] = ((uint8_t *)&val)[sizeof val - i]; -} diff --git a/src/byteorder.h b/src/byteorder.h index c997b10..5eb4daf 100644 --- a/src/byteorder.h +++ b/src/byteorder.h @@ -1,13 +1,33 @@ #ifndef BYTEORDER_H_ #define BYTEORDER_H_ +#include + #ifdef HAVE_CONFIG_H # include "config.h" #endif +static inline uint16_t _flip16(uint16_t val) +{ + uint16_t hostval; + int i; + + for (i = 0; i < sizeof val; i++) + ((uint8_t *)&hostval)[i] = ((uint8_t *)&val)[sizeof val - i]; +} + +static inline uint32_t _flip32(uint32_t val) +{ + uint32_t hostval; + int i; + + for (i = 0; i < sizeof val; i++) + ((uint8_t *)&hostval)[i] = ((uint8_t *)&val)[sizeof val - i]; +} + #ifdef WORDS_BIGENDIAN - uint16_t letohs(uint16_t); - uint32_t letohl(uint32_t); +# define letohs(x) _flip16(x) +# define letohl(x) _flip32(x) #else # define letohs(x) (x) # define letohl(x) (x)