summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ares_dns.h12
-rw-r--r--ares_send.c2
2 files changed, 7 insertions, 7 deletions
diff --git a/ares_dns.h b/ares_dns.h
index 9e8f1d7..3531cd4 100644
--- a/ares_dns.h
+++ b/ares_dns.h
@@ -21,12 +21,12 @@
#define DNS__16BIT(p) (((p)[0] << 8) | (p)[1])
#define DNS__32BIT(p) (((p)[0] << 24) | ((p)[1] << 16) | \
((p)[2] << 8) | (p)[3])
-#define DNS__SET16BIT(p, v) (((p)[0] = ((v) >> 8) & 0xff), \
- ((p)[1] = (v) & 0xff))
-#define DNS__SET32BIT(p, v) (((p)[0] = ((v) >> 24) & 0xff), \
- ((p)[1] = ((v) >> 16) & 0xff), \
- ((p)[2] = ((v) >> 8) & 0xff), \
- ((p)[3] = (v) & 0xff))
+#define DNS__SET16BIT(p, v) (((p)[0] = (unsigned char)((v) >> 8) & 0xff), \
+ ((p)[1] = (unsigned char)(v) & 0xff))
+#define DNS__SET32BIT(p, v) (((p)[0] = (unsigned char)((v) >> 24) & 0xff), \
+ ((p)[1] = (unsigned char)((v) >> 16) & 0xff), \
+ ((p)[2] = (unsigned char)((v) >> 8) & 0xff), \
+ ((p)[3] = (unsigned char)(v) & 0xff))
#if 0
/* we cannot use this approach on systems where we can't access 16/32 bit
diff --git a/ares_send.c b/ares_send.c
index 89efec0..6d17a1c 100644
--- a/ares_send.c
+++ b/ares_send.c
@@ -73,7 +73,7 @@ void ares_send(ares_channel channel, const unsigned char *qbuf, int qlen,
}
/* Compute the query ID. Start with no timeout. */
- query->qid = DNS_HEADER_QID(qbuf);
+ query->qid = (unsigned short)DNS_HEADER_QID(qbuf);
query->timeout = 0;
/* Form the TCP query buffer by prepending qlen (as two