summaryrefslogtreecommitdiff
path: root/src/lib/libc/net/htonl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/net/htonl.c')
-rw-r--r--src/lib/libc/net/htonl.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/lib/libc/net/htonl.c b/src/lib/libc/net/htonl.c
index 2373c170e7..73b7432731 100644
--- a/src/lib/libc/net/htonl.c
+++ b/src/lib/libc/net/htonl.c
@@ -4,7 +4,7 @@
4 */ 4 */
5 5
6#if defined(LIBC_SCCS) && !defined(lint) 6#if defined(LIBC_SCCS) && !defined(lint)
7static char *rcsid = "$OpenBSD: htonl.c,v 1.3 1996/08/19 08:29:04 tholo Exp $"; 7static char *rcsid = "$OpenBSD: htonl.c,v 1.4 1996/12/12 03:19:55 tholo Exp $";
8#endif /* LIBC_SCCS and not lint */ 8#endif /* LIBC_SCCS and not lint */
9 9
10#include <sys/types.h> 10#include <sys/types.h>
@@ -12,16 +12,14 @@ static char *rcsid = "$OpenBSD: htonl.c,v 1.3 1996/08/19 08:29:04 tholo Exp $";
12 12
13#undef htonl 13#undef htonl
14 14
15unsigned long 15u_int32_t
16htonl(x) 16htonl(x)
17 unsigned long x; 17 u_int32_t x;
18{ 18{
19 u_int32_t y = x;
20
21#if BYTE_ORDER == LITTLE_ENDIAN 19#if BYTE_ORDER == LITTLE_ENDIAN
22 u_char *s = (u_char *)&y; 20 u_char *s = (u_char *)&x;
23 return (u_int32_t)(s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]); 21 return (u_int32_t)(s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]);
24#else 22#else
25 return y; 23 return x;
26#endif 24#endif
27} 25}