Fix maskcheck() and maskcmp().

This commit is contained in:
Guus Sliepen 2002-04-05 09:11:38 +00:00
parent d8c249008a
commit ad6b120349

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: netutl.c,v 1.12.4.33 2002/03/19 00:08:23 guus Exp $ $Id: netutl.c,v 1.12.4.34 2002/04/05 09:11:38 guus Exp $
*/ */
#include "config.h" #include "config.h"
@ -191,7 +191,7 @@ cp
return result; return result;
if(m) if(m)
return (a[i] & (0x100 - (m << 1))) - (b[i] & (0x100 - (m << 1))); return (a[i] & (0x100 - (1 << (8 - m)))) - (b[i] & (0x100 - (1 << (8 - m))));
return 0; return 0;
} }
@ -204,7 +204,7 @@ cp
masklen %= 8; masklen %= 8;
if(masklen) if(masklen)
a[i++] &= (0x100 - (masklen << 1)); a[i++] &= (0x100 - (1 << masklen));
for(; i < len; i++) for(; i < len; i++)
a[i] = 0; a[i] = 0;
@ -219,7 +219,7 @@ cp
if(m) if(m)
{ {
a[i] = b[i] & (0x100 - (m << 1)); a[i] = b[i] & (0x100 - (1 << m));
i++; i++;
} }
@ -235,7 +235,7 @@ cp
masklen %= 8; masklen %= 8;
if(masklen) if(masklen)
if(a[i++] & ~(0x100 - (masklen << 1))) if(a[i++] & (char)~(0x100 - (1 << masklen)))
return -1; return -1;
for(; i < len; i++) for(; i < len; i++)