Annotation of researchv10no/libcc/balloc.c, revision 1.1.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.