FROMHEXU.C (for Macintosh)

Mike Simpson msimpson at bbncca.ARPA
Tue Oct 30 02:24:22 AEST 1984


/* fromhex.c, UNIX version */

#include <stdio.h>

int bytes,sum;

main()
{
	register i,v;
	register n;

	n = 0;
	v = 0;
	while ((i = getchar()) != EOF) {
		i &= 0177;
		if (i == '|') 
			break;
		if (i < 0100 || i > 0117)
			continue;
		v = (v << 4) | (i & 0xF);
		if ((++n & 1) == 0) {
			putchar(v);
			sum += v;
			v = 0;
			bytes++;
		}
	}
	n = 0;
	for (i = 0 ; i < 8 ; i++)
		n = (n << 4) | (getchar() & 0xF);
	if (n != (bytes + sum))
		fprintf(stderr, "bad checksum\n");
	else
		fprintf(stderr, "checksum good!\n");
	exit(0);
}
-- 
   >> don't shoot me, I'm just trying to be helpful ... <<
   Mike Simpson, BBN
   msimpson at bbnccf  (Arpanet/Internet/CSNet)
   {decvax,ihnp4,ima,linus,masscomp,sunybcs,wjh12}!bbncca!msimpson (Usenet)
   617-497-2819 (Ma Bell)



More information about the Comp.sources.unix mailing list