main( argc, argv ) int argc; char **argv; { if( argc != 2 ) { printf( "Usage: %s \n", argv[0] ); exit( 1 ); } printf( "hash is %ld\n", (hash( argv[1] ) % 72) + 6 ); } hash( s ) unsigned char *s; { int i; int res; unsigned char *sp; unsigned c; res = strlen( s ); for( i = 1, sp = s; *sp; i++, sp++ ) { c = *sp; if( c >= 'a' && c <= 'z' ) { c = c - 'a' + 'A'; } res = ((res * 13 + c ) & 0x7ff); } return( res ); }