|
|
researchv10 Norman
#include <jstructs.h>
#define rox r.origin.x
#define roy r.origin.y
#define rcx r.corner.x
#define rcy r.corner.y
Bitmap *
balloc(r)
Rectangle r;
{
char *malloc(), *calloc();
register left, right;
register Bitmap *bp;
if ((bp=(Bitmap *)malloc(sizeof(Bitmap))) == (Bitmap *)0)
return (Bitmap *)0;
left = rox & ~WORDMASK;
if ((right=rcx) & WORDMASK) {
right |= WORDMASK;
right ++;
}
bp->width = (right-left)>>WORDSHIFT;
bp->rect = r;
bp->base = (Word *)calloc(bp->width * (rcy-roy), sizeof(Word));
if (bp->base == (Word *)0){
free((char *)bp);
return (Bitmap *)0;
}
bp->_null=0;
return bp;
}
bfree(bp)
register Bitmap *bp;
{
if (bp) {
free((char *)bp->base);
free((char *)bp);
}
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.