summaryrefslogtreecommitdiff
path: root/src/qcommon
diff options
context:
space:
mode:
Diffstat (limited to 'src/qcommon')
-rw-r--r--src/qcommon/net_ip.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/qcommon/net_ip.c b/src/qcommon/net_ip.c
index e3a95e4a..a64cd04e 100644
--- a/src/qcommon/net_ip.c
+++ b/src/qcommon/net_ip.c
@@ -390,7 +390,6 @@ Compare without port, and up to the bit number given in netmask.
*/
qboolean NET_CompareBaseAdrMask(netadr_t a, netadr_t b, int netmask)
{
- qboolean differed;
byte cmpmask, *addra, *addrb;
int curbyte;
@@ -422,24 +421,12 @@ qboolean NET_CompareBaseAdrMask(netadr_t a, netadr_t b, int netmask)
return qfalse;
}
- differed = qfalse;
- curbyte = 0;
+ curbyte = netmask >> 3;
- while(netmask > 7)
- {
- if(addra[curbyte] != addrb[curbyte])
- {
- differed = qtrue;
- break;
- }
-
- curbyte++;
- netmask -= 8;
- }
-
- if(differed)
- return qfalse;
+ if(curbyte && memcmp(addra, addrb, curbyte))
+ return qfalse;
+ netmask &= ~0x07;
if(netmask)
{
cmpmask = (1 << netmask) - 1;