Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 5/3/83; site cmu-cs-k.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!rochester!cmu-cs-pt!cmu-cs-k!wrs
From: wrs@cmu-cs-k.ARPA (Walter Smith)
Newsgroups: net.sources
Subject: fromhexu.c
Message-ID: <218@cmu-cs-k.ARPA>
Date: Sat, 15-Dec-84 19:47:01 EST
Article-I.D.: cmu-cs-k.218
Posted: Sat Dec 15 19:47:01 1984
Date-Received: Mon, 17-Dec-84 03:53:39 EST
Organization: Carnegie-Mellon University, CS/RI
Lines: 49

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.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 

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@cmu-cs-k.ARPA
usps: Box 874; 5115 Margaret Morrison St.; Pittsburgh, PA  15213