mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 15:48:49 -05:00
Detect big/little endian in the configure script and adjust the ares_dns.h
macros accordingly.
This commit is contained in:
parent
92c0de518e
commit
772b64d9d3
@ -18,7 +18,18 @@
|
|||||||
#ifndef ARES__DNS_H
|
#ifndef ARES__DNS_H
|
||||||
#define ARES__DNS_H
|
#define ARES__DNS_H
|
||||||
|
|
||||||
#if 0
|
#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__16BIT(p) (((p)[0] << 8) | (p)[1])
|
||||||
#define DNS__32BIT(p) (((p)[0] << 24) | ((p)[1] << 16) | \
|
#define DNS__32BIT(p) (((p)[0] << 24) | ((p)[1] << 16) | \
|
||||||
((p)[2] << 8) | (p)[3])
|
((p)[2] << 8) | (p)[3])
|
||||||
@ -28,7 +39,11 @@
|
|||||||
((p)[1] = ((v) >> 16) & 0xff), \
|
((p)[1] = ((v) >> 16) & 0xff), \
|
||||||
((p)[2] = ((v) >> 8) & 0xff), \
|
((p)[2] = ((v) >> 8) & 0xff), \
|
||||||
((p)[3] = (v) & 0xff))
|
((p)[3] = (v) & 0xff))
|
||||||
#else /* big-endian aware versions */
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* we cannot use this approach on systems where we can't access 16/32 bit
|
||||||
|
data on un-aligned addresses */
|
||||||
#define DNS__16BIT(p) ntohs(*(unsigned short*)(p))
|
#define DNS__16BIT(p) ntohs(*(unsigned short*)(p))
|
||||||
#define DNS__32BIT(p) ntohl(*(unsigned long*)(p))
|
#define DNS__32BIT(p) ntohl(*(unsigned long*)(p))
|
||||||
#define DNS__SET16BIT(p, v) *(unsigned short*)(p) = htons(v)
|
#define DNS__SET16BIT(p, v) *(unsigned short*)(p) = htons(v)
|
||||||
|
@ -356,4 +356,10 @@ CARES_CHECK_GETSERVBYPORT_R
|
|||||||
|
|
||||||
CURL_CHECK_NONBLOCKING_SOCKET
|
CURL_CHECK_NONBLOCKING_SOCKET
|
||||||
|
|
||||||
|
AC_C_BIGENDIAN(
|
||||||
|
[AC_DEFINE(ARES_BIG_ENDIAN, 1, [define this if ares is built for a big endian system])],
|
||||||
|
,
|
||||||
|
[AC_MSG_WARN([couldn't figure out endianess, assuming little endian!])]
|
||||||
|
)
|
||||||
|
|
||||||
AC_OUTPUT(Makefile)
|
AC_OUTPUT(Makefile)
|
||||||
|
Loading…
Reference in New Issue
Block a user