TOHEX.C (for Macintosh)
Mike Simpson
msimpson at bbncca.ARPA
Tue Oct 30 02:27:45 AEST 1984
#include <stdio.h>
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 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