From: William Ahern Date: Mon, 19 Jun 2006 06:41:55 +0000 (+0000) Subject: Remove "big endian" DNS section and RR data integer parser macros from X-Git-Tag: upstream/1.10.0~1184 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d1ad89f943fa5abc98d8fd446d1869ac3bb363e3;p=platform%2Fupstream%2Fc-ares.git 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). --- diff --git a/CHANGES b/CHANGES index 880d228..a257086 100644 --- a/CHANGES +++ b/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_dns.h b/ares_dns.h index 290c8fb..9e8f1d7 100644 --- a/ares_dns.h +++ b/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