File:  [Research Unix] / researchv10no / cmd / sum / sum5.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

#define		BSIZE		512		/* system 5 */

int
sum5(register long sum, char *buf, int n)
{
	register unsigned char *s, *send;

	if(buf == 0){
		sum = ((sum>>16)+sum&0xFFFF)&0xFFFF;
		printf("%05u%6ld", sum, (n + (BSIZE - 1)) / BSIZE);
		return(0);
	}
	for(s = (unsigned char *)buf, send = s+n; s < send; s++)
		sum += 0xffff & *s;
	return(sum);
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.