summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/htons.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/lib/htons.c')
-rw-r--r--mdk-stage1/dietlibc/lib/htons.c17
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")));