From 4b5af70dd3568a23ee1c638865ffde114e0945f4 Mon Sep 17 00:00:00 2001 From: michael Date: Sun, 1 Jun 2014 22:45:43 +0000 Subject: - hostmask.c:mask_addr(): fiex compile warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit hostmask.c: In function ‘mask_addr’: hostmask.c:332:35: warning: declaration of ‘__v’ shadows a previous local [-Wshadow] hostmask.c:332:35: warning: shadowed declaration is here [-Wshadow] hostmask.c:332:35: warning: declaration of ‘__x’ shadows a previous local [-Wshadow] hostmask.c:332:35: warning: shadowed declaration is here [-Wshadow] git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@3771 82007160-df01-0410-b94d-b575c5fd34c7 --- src/hostmask.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/hostmask.c b/src/hostmask.c index 5c34013..c82a88c 100644 --- a/src/hostmask.c +++ b/src/hostmask.c @@ -335,15 +335,12 @@ mask_addr(struct irc_ssaddr *ip, int bits) #ifdef IPV6 else { - n = bits / 8; - m = bits % 8; - v6_base_ip = (struct sockaddr_in6 *)ip; - - mask = ~((1 << (8 - m)) -1 ); - v6_base_ip->sin6_addr.s6_addr[n] = v6_base_ip->sin6_addr.s6_addr[n] & mask; + uint32_t tmp = 0; + v4_base_ip = (struct sockaddr_in *)ip; - for (i = n + 1; i < 16; i++) - v6_base_ip->sin6_addr.s6_addr[i] = 0; + mask = ~((1 << (32 - bits)) - 1); + tmp = ntohl(v4_base_ip->sin_addr.s_addr); + v4_base_ip->sin_addr.s_addr = htonl(tmp & mask); } #endif } -- cgit