Annotation of 3BSD/cmd/net/filecat.c, revision 1.1.1.1

1.1       root        1: /*
                      2: 
                      3:        filecat
                      4: 
                      5:        does nothing more than copy standard input to standard
                      6:        output, like the cat command, but reports write errors.
                      7:        Takes no arguments.
                      8:        Uses getc and putc rather than fwrite and fread because
                      9:        the latter call getc and putc.
                     10: 
                     11:        Exit codes:
                     12:                0       ok
                     13:                1       error on read
                     14:                2       error on write
                     15: 
                     16: */
                     17: # include <stdio.h>
                     18: main(){
                     19:        char c,sOutbuf[BUFSIZ];
                     20: 
                     21:        setbuf(stdout,sOutbuf);
                     22: 
                     23:        while((c = getc(stdin)) != EOF){
                     24:                putc(c,stdout);
                     25:                if(ferror(stdout)){
                     26:                        perror("filecat: stdout");
                     27:                        exit(2);
                     28:                }
                     29:        }
                     30:        if(ferror(stdin)){
                     31:                perror("filecat: stdin");
                     32:                exit(1);
                     33:        }
                     34:        fclose(stdin);
                     35:        fclose(stdout);
                     36:        exit(0);
                     37: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.