Hans Leidekker : dnsapi: Cast-qual warnings fix.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Oct 5 13:06:23 CDT 2006


Module: wine
Branch: master
Commit: b85e3fe4ebde4dc9e59d955746fe2f70921c7d1f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b85e3fe4ebde4dc9e59d955746fe2f70921c7d1f

Author: Hans Leidekker <hans at it.vu.nl>
Date:   Thu Oct  5 15:36:39 2006 +0200

dnsapi: Cast-qual warnings fix.

---

 dlls/dnsapi/ns_parse.c |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/dlls/dnsapi/ns_parse.c b/dlls/dnsapi/ns_parse.c
index 9c386bc..9580b72 100644
--- a/dlls/dnsapi/ns_parse.c
+++ b/dlls/dnsapi/ns_parse.c
@@ -48,6 +48,24 @@ #else
 # define NS_PTR(ns_msg) ((ns_msg)->_ptr)
 #endif
 
+#define DNS_NS_GET16(s, cp) do { \
+    register const u_char *t_cp = (const u_char *)(cp); \
+    (s) = ((u_int16_t)t_cp[0] << 8) \
+        | ((u_int16_t)t_cp[1]) \
+        ; \
+    (cp) += NS_INT16SZ; \
+} while (0)
+
+#define DNS_NS_GET32(l, cp) do { \
+    register const u_char *t_cp = (const u_char *)(cp); \
+    (l) = ((u_int32_t)t_cp[0] << 24) \
+        | ((u_int32_t)t_cp[1] << 16) \
+        | ((u_int32_t)t_cp[2] << 8) \
+        | ((u_int32_t)t_cp[3]) \
+        ; \
+    (cp) += NS_INT32SZ; \
+} while (0)
+
 /* Public. */
 
 static int
@@ -65,7 +83,7 @@ dns_ns_skiprr(const u_char *ptr, const u
 			if (ptr + NS_INT32SZ + NS_INT16SZ > eom)
 				RETERR(EMSGSIZE);
 			ptr += NS_INT32SZ/*TTL*/;
-			NS_GET16(rdlength, ptr);
+			DNS_NS_GET16(rdlength, ptr);
 			ptr += rdlength/*RData*/;
 		}
 	}
@@ -84,14 +102,14 @@ dns_ns_initparse(const u_char *msg, int 
 	handle->_eom = eom;
 	if (msg + NS_INT16SZ > eom)
 		RETERR(EMSGSIZE);
-	NS_GET16(handle->_id, msg);
+	DNS_NS_GET16(handle->_id, msg);
 	if (msg + NS_INT16SZ > eom)
 		RETERR(EMSGSIZE);
-	NS_GET16(handle->_flags, msg);
+	DNS_NS_GET16(handle->_flags, msg);
 	for (i = 0; i < ns_s_max; i++) {
 		if (msg + NS_INT16SZ > eom)
 			RETERR(EMSGSIZE);
-		NS_GET16(handle->_counts[i], msg);
+		DNS_NS_GET16(handle->_counts[i], msg);
 	}
 	for (i = 0; i < ns_s_max; i++)
 		if (handle->_counts[i] == 0)
@@ -146,8 +164,8 @@ dns_ns_parserr(ns_msg *handle, ns_sect s
 	NS_PTR(handle) += b;
 	if (NS_PTR(handle) + NS_INT16SZ + NS_INT16SZ > handle->_eom)
 		RETERR(EMSGSIZE);
-	NS_GET16(rr->type, NS_PTR(handle));
-	NS_GET16(rr->rr_class, NS_PTR(handle));
+	DNS_NS_GET16(rr->type, NS_PTR(handle));
+	DNS_NS_GET16(rr->rr_class, NS_PTR(handle));
 	if (section == ns_s_qd) {
 		rr->ttl = 0;
 		rr->rdlength = 0;
@@ -155,8 +173,8 @@ dns_ns_parserr(ns_msg *handle, ns_sect s
 	} else {
                 if (NS_PTR(handle) + NS_INT32SZ + NS_INT16SZ > handle->_eom)
 			RETERR(EMSGSIZE);
-		NS_GET32(rr->ttl, NS_PTR(handle));
-		NS_GET16(rr->rdlength, NS_PTR(handle));
+		DNS_NS_GET32(rr->ttl, NS_PTR(handle));
+		DNS_NS_GET16(rr->rdlength, NS_PTR(handle));
 		if (NS_PTR(handle) + rr->rdlength > handle->_eom)
 			RETERR(EMSGSIZE);
 		rr->rdata = NS_PTR(handle);




More information about the wine-cvs mailing list