/* Ripple test. Usage: ripple [ w [ l ] ] w = screen line width, default 80, must be > 0, max 132. l = how many lines to display, default 1000; < 1 means go forever. Author: Frank da Cruz, Columbia University, 1995. */ char *crlf = "\015\012"; char *p = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\ ^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH\ IJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./012\ 3456789:;<=>?@ABCD"; main(argc,argv) int argc; char *argv[]; { int i, j, w = 80, l = 1000; char beep = '\07'; if (argc > 1) /* User-specified width */ w = atoi(argv[1]); if (argc > 2) /* User-specified number of lines */ l = atoi(argv[2]); if (w < 1 || w > 132) /* Quit upon conversion error */ exit(1); for (j = i = 0; l < 1 || i < l; i++) { /* Ripple loop */ write(1, p+j, w); write(1, crlf, 2); if (++j > 94) j = 0; } write(1, &beep, 1); exit(0); }