Annotation of researchv10dc/cmd/ops/nalloc.c, revision 1.1.1.1

1.1       root        1: char *
                      2: nalloc(pp, size, asize)
                      3: register char **pp;
                      4: {
                      5:        char *malloc(), *realloc();
                      6:        register char *p; int np;
                      7:        for (;;) {
                      8:                if ((p = pp[1]) + size <= pp[2])
                      9:                        return (pp[1] += size, p);
                     10:                if (p = pp[0])
                     11:                        np = pp[1] - p, p = realloc(p, asize += pp[2] - p);
                     12:                else
                     13:                        np = 0, p = malloc(asize);
                     14:                if (p == 0)
                     15:                        return 0;
                     16:                pp[0] = p;
                     17:                pp[1] = p + np;
                     18:                pp[2] = p + asize;
                     19:        }
                     20: }

unix.superglobalmegacorp.com

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