/* rot13.c -- simple rot13 program */ /* $Id$ */ /* Carlos Duarte , 970523 */ /* * performs a sort of, tr "[a-m][n-z][A-M][N-Z]" "[n-z][a-m][N-Z][A-M]", * on input files */ #include #include #include static int do_args(int first, int ac, char *av[]); #define ARG() \ s[1] ? (t=s+1, s+=strlen(s)-1, t) : ++i ='a' && c<='m') putchar(c+'n'-'a'); else if (c>='n' && c<='z') putchar(c+'a'-'n'); else if (c>='A' && c<='M') putchar(c+'N'-'A'); else if (c>='N' && c<='Z') putchar(c+'A'-'N'); else putchar(c); #else putchar(table[(unsigned char)c]); #endif } if (f != stdin) fclose(f); } static int do_args(int ix, int argc, char *argv[]) { if (ix == argc) { rot13(0); } else { rot13(argv[ix]); } return 0; }