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