Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site bbncca.ARPA Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!houxm!ihnp4!bbncca!msimpson From: msimpson@bbncca.ARPA (Mike Simpson) Newsgroups: net.sources Subject: TOHEX.C (for Macintosh) Message-ID: <1078@bbncca.ARPA> Date: Mon, 29-Oct-84 11:27:45 EST Article-I.D.: bbncca.1078 Posted: Mon Oct 29 11:27:45 1984 Date-Received: Tue, 30-Oct-84 01:42:57 EST Reply-To: msimpson@bbncca.ARPA (Mike Simpson) Organization: Bolt, Beranek and Newman, Cambridge, Ma. Lines: 76 #include char hex[] = "@ABCDEFGHIJKLMNO"; int bytes,sum; unsigned long htonl(); main(argc,argv) char **argv; { register i,len; register char *cp; len = 0; while ((i = getchar()) != EOF) { bytes++; sum += i; putchar(hex[i>>4]); putchar(hex[i&0xF]); if (++len > 32) { putchar('\n'); len = 0; } } fprintf(stderr, "bytes %d, sum %d\n", bytes, sum); putchar('|'); sum += bytes; sum = htonl(sum); cp = (char *)∑ for (len = 0 ; len < 4 ; len++) { i = (*cp++ & 0xff); putchar(hex[i>>4]); putchar(hex[i&0xF]); } putchar('\n'); exit(0); } #define nohtonl #ifdef nohtonl /* if not in library */ /* * "Host" to "net" byte order swappers. */ unsigned short htons(a) unsigned short a; { unsigned short result; register char *sp = (char *)&a; register char *dp = (char *)&result; dp[1] = *sp++; dp[0] = *sp; return (result); } unsigned long htonl(a) unsigned long a; { unsigned long result; register char *sp = (char *)&a; register char *dp = (char *)&result; dp[3] = *sp++; dp[2] = *sp++; dp[1] = *sp++; dp[0] = *sp; return (result); } #endif -- >> don't shoot me, I'm just trying to be helpful ... << Mike Simpson, BBN msimpson@bbnccf (Arpanet/Internet/CSNet) {decvax,ihnp4,ima,linus,masscomp,sunybcs,wjh12}!bbncca!msimpson (Usenet) 617-497-2819 (Ma Bell)