/* xor.c - Don Yang (uguu.org) 10/27/01 */ /*@ -usedef @*/ #include #include int main(int argc, char **argv) { int slash, space, quote, control, extended, count, cr, lf, tab; int min, max, xor, p, q; if( argc < 2 ) return fprintf(stderr, "%s \n", *argv); fprintf(stderr, "xor = %d\n", xor = atoi(argv[1])); space = control = quote = slash = extended = cr = lf = tab = 0; for(count = 0; (p = getchar()) != EOF; count++) { q = p ^ xor; if( count == 0 ) min = max = q; if( q < min ) min = q; if( q > max ) max = q; if( q == (int)'\\' ) slash++; if( q == (int)'\"' ) quote++; if( q == (int)'\n' ) cr++; if( q == (int)'\r' ) lf++; if( q == (int)'\t' ) tab++; if( q == (int)' ' ) space++; if( q < (int)' ' ) control++; if( q >= 127 ) extended++; (void)putchar(q); } fprintf(stderr, "count = %d, space = %d, cr = %d, lf = %d, tab = %d\n" "control = %d, extended = %d, quote = %d, slash = %d\n", count, space, cr, lf, tab, control, extended, quote, slash); return 0; }