Annotation of researchv9/cmd/strip/fcopy.c, revision 1.1

1.1     ! root        1: #define BSIZE  4096
        !             2: #define min(a,b)       ((a)<(b) ? (a) : (b))
        !             3: 
        !             4: fcopy(to, from, nbytes)
        !             5: int to, from; register int nbytes;
        !             6: {
        !             7:        char *malloc();
        !             8:        register char *buf; register int n;
        !             9: 
        !            10:        if (nbytes && (buf = malloc(min(nbytes, BSIZE)))) {
        !            11:                do {
        !            12:                        n = min(nbytes, BSIZE);
        !            13:                        if (read(from, buf, n) != n) break;
        !            14:                        if (write(to, buf, n) != n) break;
        !            15:                        nbytes -= n;
        !            16:                } while (nbytes);
        !            17:                free(buf);
        !            18:        }
        !            19:        return nbytes;
        !            20: }

unix.superglobalmegacorp.com

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