Category : C Source Code
Archive   : Z201SRC.ZIP
Filename : ADDBFCRC.C

Output of file : ADDBFCRC.C contained in archive : Z201SRC.ZIP

#ifndef LINT
static char sccsid[]="@(#) addbfcrc.c 2.2 88/01/29 17:04:31";
#endif /* LINT */

#include "options.h"
addbfcrc() accepts a buffer address and a count and adds the CRC for
all bytes in the buffer to the global variable crccode using

CRC computation algorithm originally from an article by David Schwaderer
in the April 1985 issue of PC Tech Journal.

Loop optimization done by J. Brian Waters.

I claim no copyright over the contents of this file.

-- Rahul Dhesi 1986/08/27


extern unsigned int crccode;
extern unsigned crctab[];

void addbfcrc(buffer,count)
register char *buffer;
register int count;

register unsigned int localcrc;
localcrc = crccode;

for (; count--; )
localcrc = (localcrc>>8) ^ crctab[(localcrc ^ (*buffer++)) & 0x00ff];
crccode = localcrc;