home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_07_08
/
v7n8073a.txt
< prev
next >
Wrap
Text File
|
1989-10-02
|
977b
|
42 lines
*****Listing 4*****
unsigned short compute_checksum(start,length)
unsigned char * start;
unsigned short length;
{
unsigned short sum = 0;
unsigned char * end = start + length;
while(start < end)
{
sum += *start++;
}
return sum;
}
short check_checksum(where,start,length,oldsum)
char * where;
unsigned char * start;
unsigned short length;
unsigned short oldsum;
{
unsigned short sum;
sum = compute_checksum(start,length);
if(sum == oldsum)
return 0;
fprintf(stderr,
"Checksum error at %s:"
" %p/%ud(0x%4x),"
" old %ux, new %ux\n",
where, start, length,
oldsum, sum);
return stop();
}
**********