/sys/src/libmemdraw/draw.c:374,380 - draw.c:374,380 uchar *alpha; /* is &ones when unused, never nil */ uchar *grey; ulong *rgba; - int delta; /* number of bytes to add to pointer to get next pixel to the right */ + uintptr delta; /* number of bytes to add to pointer to get next pixel to the right */ /* used by boolcalc* for mask data */ uchar *m; /* ptr to mask data r.min byte; like p->bytermin */ /sys/src/libmemdraw/draw.c:1068,1073 - draw.c:1068,1078 int fd; int i, ma; ulong t; + + uintptr sd; + uintptr dd; + sd = bsrc.delta; + dd = bdst.delta; USED(op); obdst = bdst; /sys/src/libmemdraw/draw.c:1084,1095 - draw.c:1089,1100 *bdst.red = CALC12(ma, *bsrc.red, fd, *bdst.red, t); *bdst.grn = CALC12(ma, *bsrc.grn, fd, *bdst.grn, t); *bdst.blu = CALC12(ma, *bsrc.blu, fd, *bdst.blu, t); - bsrc.red += bsrc.delta; - bsrc.blu += bsrc.delta; - bsrc.grn += bsrc.delta; - bdst.red += bdst.delta; - bdst.blu += bdst.delta; - bdst.grn += bdst.delta; + bsrc.red += sd; + bsrc.blu += sd; + bsrc.grn += sd; + bdst.red += dd; + bdst.blu += dd; + bdst.grn += dd; } if(bdst.alpha != &ones){ *bdst.alpha = ma+CALC11(fd, *bdst.alpha, t);