diff options
Diffstat (limited to 'mdk-stage1/dietlibc/lib/htons.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/htons.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/mdk-stage1/dietlibc/lib/htons.c b/mdk-stage1/dietlibc/lib/htons.c index 92a43f937..765d3bbc5 100644 --- a/mdk-stage1/dietlibc/lib/htons.c +++ b/mdk-stage1/dietlibc/lib/htons.c @@ -1,12 +1,11 @@ -#include <asm/byteorder.h> +#include <endian.h> -#undef htons -#ifdef __i386__ -unsigned short int htons(unsigned short int netshort) { - return ___arch__swab16(netshort); -} +unsigned short int htons(unsigned short int hostshort) { +#if __BYTE_ORDER==__LITTLE_ENDIAN + return ((hostshort>>8)&0xff) | (hostshort<<8); #else -unsigned short int htons(unsigned short int netshort) { - return netshort; -} + return hostshort; #endif +} + +unsigned short int ntohs(unsigned short int hostshort) __attribute__((weak,alias("htons"))); |