Annotation of researchv10no/libcc/balloc.c, revision 1.1

1.1     ! root        1: #include <jstructs.h>
        !             2: 
        !             3: #define rox    r.origin.x
        !             4: #define roy    r.origin.y
        !             5: #define rcx    r.corner.x
        !             6: #define rcy    r.corner.y
        !             7: 
        !             8: Bitmap *
        !             9: balloc(r)
        !            10: Rectangle r;
        !            11: {
        !            12:        char *malloc(), *calloc();
        !            13:        register left, right;
        !            14:        register Bitmap *bp;
        !            15: 
        !            16:        if ((bp=(Bitmap *)malloc(sizeof(Bitmap))) == (Bitmap *)0)
        !            17:                return (Bitmap *)0;
        !            18: 
        !            19:        left = rox & ~WORDMASK;
        !            20:        if ((right=rcx) & WORDMASK) {
        !            21:                right |= WORDMASK;
        !            22:                right ++;
        !            23:        }
        !            24:        bp->width = (right-left)>>WORDSHIFT;
        !            25:        bp->rect = r;
        !            26: 
        !            27:        bp->base = (Word *)calloc(bp->width * (rcy-roy), sizeof(Word));
        !            28:        if (bp->base == (Word *)0){
        !            29:                free((char *)bp);
        !            30:                return (Bitmap *)0;
        !            31:        }
        !            32:        bp->_null=0;
        !            33:        return bp;
        !            34: }
        !            35: 
        !            36: bfree(bp)
        !            37:        register Bitmap *bp;
        !            38: {
        !            39:        if (bp) {
        !            40:                free((char *)bp->base);
        !            41:                free((char *)bp);
        !            42:        }
        !            43: }

unix.superglobalmegacorp.com

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