printit(atoi(argv[1]));
printit(i);
main(argc, argv)	int argc;	char **argv;{	register int ch, dot, i, nread, winnerdot = 0;	register char *inbuf, *p, **av;	int obs[26], try, winner;	/* revoke privs */	setegid(getgid());	setgid(getgid());	if (argc > 1) {		if ((i = atoi(argv[1])))			printit(atoi(argv[1]));		else			usage();	}	/* check to see if we were called as rot13 */	av = argv;	p = strrchr(*av, '/');	if (p++ == NULL)		p = *av;	if (strcmp(p,"rot13") == 0)		printit(13);	if (!(inbuf = malloc(LINELENGTH)))		errx(1, "out of memory.");	/* adjust frequency table to weight low probs REAL low */	for (i = 0; i < 26; ++i)		stdf[i] = log(stdf[i]) + log(26.0 / 100.0);	/* zero out observation table */	memset(obs, 0, 26 * sizeof(int));	nread = 0;	while ((nread < LINELENGTH) && ((ch = getchar()) != EOF)) {		inbuf[nread++] = ch;		if (islower(ch))			++obs[ch - 'a'];		else if (isupper(ch))			++obs[ch - 'A'];	}	/*	 * now "dot" the freqs with the observed letter freqs	 * and keep track of best fit	 */	for (try = winner = 0; try < 26; ++try) { /* += 13) { */		dot = 0;		for (i = 0; i < 26; i++)			dot += obs[i] * stdf[(i + try) % 26];		if (dot > winnerdot) {			/* got a new winner! */			winner = try;			winnerdot = dot;		}	}	/* dump the buffer before calling printit */	for (i = 0; i < nread; ++i) {		ch = inbuf[i];		putchar(ROTATE(ch, winner));	}	printit(winner);	/* NOT REACHED */}