fromhexu.c

Walter Smith wrs at cmu-cs-k.ARPA
Sun Dec 16 10:47:01 AEST 1984


Here is the Unix version of fromhex.  Use it to convert BinHex.dl (in an
earlier post) for use on a Macintosh.

Usage is as a filter:    fromhex <BinHex.dl >BinHex.rsrc

Sorry I can't give credit to the author, but I don't know who/what he/it is.

----------CUT-HERE------------
/* 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);
}
-- 
      Walter Smith, CS undergraduate, Carnegie-Mellon University
uucp: ...!seismo!cmu-cs-k!wrs
arpa: wrs at cmu-cs-k.ARPA
usps: Box 874; 5115 Margaret Morrison St.; Pittsburgh, PA  15213



More information about the Comp.sources.unix mailing list