Annotation of coherent/d/usr/src/examples/open.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: #define BUFSIZE (20*512)
        !             3: 
        !             4: char buf[BUFSIZE];
        !             5: 
        !             6: void
        !             7: fatal(s)
        !             8: char *s;
        !             9: {
        !            10:        fprintf(stderr, "%s\n", s);
        !            11:        exit(1);
        !            12: }
        !            13: 
        !            14: main(argc, argv)
        !            15: int argc; char *argv[];
        !            16: {
        !            17:        register int ifd, ofd;
        !            18:        register unsigned int n;
        !            19: 
        !            20:        if (argc != 3)
        !            21:                fatal("Usage: open source destination");
        !            22:        if ((ifd = open(argv[1], 0)) == -1)
        !            23:                fatal("cannot open input file");
        !            24:        if ((ofd = creat(argv[2], 0)) == -1)
        !            25:                fatal("cannot open output file");
        !            26: 
        !            27:        while ((n = read(ifd, buf, BUFSIZE)) != 0) {
        !            28:                if (n == -1)
        !            29:                        fatal("read error");
        !            30:                if (write(ofd, buf, n) != n)
        !            31:                        fatal("write error");
        !            32:        }
        !            33: 
        !            34:        if (close(ifd) == -1 || close(ofd) == -1)
        !            35:                fatal("cannot close");
        !            36:        exit(0);
        !            37: }
        !            38: 
        !            39: 

unix.superglobalmegacorp.com

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