line2dots
Reads from stdin and puts to stdout a dot (.) each time it reads a newline.
#include <stdio.h>
#include <stdlib.h>
void putdot(){
putchar('.');
fflush(stdout);
}
int main (int argc, char** argv) {
while(1) {
switch (getchar()) {
case '\n':
putdot();
switch (getchar()) {
case '\n':
putdot();
break;
default:
break;
}
break;
case '\r':
putdot();
switch (getchar()) {
case '\r':
putdot();
break;
default:
break;
}
break;
case EOF:
putchar('\n');
return 0;
default:
break;
}
}
}
It is equivalent to
shwhile read ; do echo -n '.' ; done ; echo