From 3008d8133ca127da3879ab08616db73720de8abb Mon Sep 17 00:00:00 2001 From: William Ahern Date: Mon, 19 Jun 2006 06:41:55 +0000 Subject: Remove "big endian" DNS section and RR data integer parser macros from ares_dns.h, which break c-ares on my Sparc64. Bit-wise operations in C operate on logical values. And in any event the octets are already in big-endian (aka network) byte order so they're being reversed (thus the source of the breakage). --- ares/CHANGES | 8 ++++++++ ares/ares_dns.h | 13 ------------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/ares/CHANGES b/ares/CHANGES index 880d22839..a257086be 100644 --- a/ares/CHANGES +++ b/ares/CHANGES @@ -1,5 +1,13 @@ Changelog for the c-ares project +* June 19, 2006 + +- (wahern) Removed "big endian" DNS section and RR data integer parser + macros from ares_dns.h, which break c-ares on my Sparc64. Bit-wise + operations in C operate on logical values. And in any event the octets are + already in big-endian (aka network) byte order so they're being reversed + (thus the source of the breakage). + * June 18, 2006 - William Ahern handles EAGAIN/EWOULDBLOCK errors in most of the I/O calls diff --git a/ares/ares_dns.h b/ares/ares_dns.h index 290c8fb8a..9e8f1d74a 100644 --- a/ares/ares_dns.h +++ b/ares/ares_dns.h @@ -18,18 +18,6 @@ #ifndef ARES__DNS_H #define ARES__DNS_H -#ifdef ARES_BIG_ENDIAN -/* big-endian aware versions */ -#define DNS__16BIT(p) (((p)[1] << 8) | (p)[0]) -#define DNS__32BIT(p) (((p)[3] << 24) | ((p)[2] << 16) | \ - ((p)[1] << 8) | (p)[0]) -#define DNS__SET16BIT(p, v) (((p)[1] = ((v) >> 8) & 0xff), \ - ((p)[0] = (v) & 0xff)) -#define DNS__SET32BIT(p, v) (((p)[3] = ((v) >> 24) & 0xff), \ - ((p)[2] = ((v) >> 16) & 0xff), \ - ((p)[1] = ((v) >> 8) & 0xff), \ - ((p)[0] = (v) & 0xff)) -#else #define DNS__16BIT(p) (((p)[0] << 8) | (p)[1]) #define DNS__32BIT(p) (((p)[0] << 24) | ((p)[1] << 16) | \ ((p)[2] << 8) | (p)[3]) @@ -39,7 +27,6 @@ ((p)[1] = ((v) >> 16) & 0xff), \ ((p)[2] = ((v) >> 8) & 0xff), \ ((p)[3] = (v) & 0xff)) -#endif #if 0 /* we cannot use this approach on systems where we can't access 16/32 bit -- cgit v1.2.3