#ifdef ournix #include "ournix.h" #endif char sccsID[] = "@(#) cat.c V0.0 Copyright Vector Systems Ltd(pjc) 1987\n" ; #include typedef char FLAG ; FLAG slow = 0 ; char **ARGV ; main(argc, argv) int argc ; char **argv; { FILE *fp; char *p; ARGV = argv ; #ifdef VSL /* { */ #include "../../include/vsl.h" #endif /* } */ if(argc == 1) copyfile(stdin); else { for(argc--, argv++; argc > 0 ; argv++, argc--) { if(**argv == '-') { p = *argv + 1; if(*p == '\0') { clearerr(stdin); copyfile(stdin); continue; } switch(*p) { case 'u': case 'U': break; case 'S': slow=1 ; break; default: fprintf(stderr, "Unknown flag %c\n",*p); break; } continue; } fp = fopen(*argv, "r"); if(fp == NULL) { fprintf(stderr, "Cannot open %s\n", *argv); continue; } copyfile(fp); (void) fclose(fp); } } (void) fflush(stdout); exit(0); } copyfile(fp) register FILE *fp; { register int c; int delay ; while((c = getc(fp)) != EOF) { if (slow!=0) { for (delay = 10000; delay--;) ; sync() ; } putchar(c); } }