diff options
author | Holger Weiß <holger@zedat.fu-berlin.de> | 2010-03-29 14:22:19 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-04-01 01:21:39 +0400 |
commit | 21e403a7b956a95a36f218439f82b1c8af869257 (patch) | |
tree | 9dfe35c59f028f08dc63d5732232d002392e4ac6 | |
parent | 7a49c254cdaec6b15a6e2818e29fdb34fc6f7717 (diff) |
Don't redefine htonl and ntohl on big-endian
Since commit 0fcabdeb52b79775173d009ccc179db104dfbb66, compat/bswap.h
redefined htonl and ntohl to bswap32 not only if bswap32 has been
defined earlier in compat/bswap.h (which is done only on selected
platforms), but also if bswap32 has been defined anywhere else. This
broke Git at least for NetBSD systems running on big-endian machines
(where ntohl and htonl should, of course, be NOOPs), since NetBSD
defines a bswap32 macro in the system headers.
So, we now undefine any previously defined bswap32 in compat/bswap.h
before defining our own.
Signed-off-by: Holger Weiß <holger@zedat.fu-berlin.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | compat/bswap.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/compat/bswap.h b/compat/bswap.h index f3b8c44181..54756dbb05 100644 --- a/compat/bswap.h +++ b/compat/bswap.h @@ -17,6 +17,8 @@ static inline uint32_t default_swab32(uint32_t val) ((val & 0x000000ff) << 24)); } +#undef bswap32 + #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #define bswap32(x) ({ \ |