|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.