git: 9front

Download patch

ref: 48d57b7af201fe15103c779bab72b6968def780f
parent: ff21390a7b7c509285d17ddb13ddf341f27c087a
author: rodri <rgl@antares-labs.eu>
date: Tue Jan 6 15:05:09 EST 2026

libdraw: remove image area limit from badrect(2)

--- a/sys/src/libdraw/badrect.c
+++ b/sys/src/libdraw/badrect.c
@@ -15,7 +15,7 @@
 	y = Dy(r);
 	if(x > 0 && y > 0){
 		z = x*y;
-		if(z/x == y && z < 0x10000000)
+		if(z/x == y)
 			return 0;
 	}
 	return 1;
--- a/sys/src/libdraw/eenter.c
+++ b/sys/src/libdraw/eenter.c
@@ -7,7 +7,7 @@
 extern int genenter(char *ask, char *buf, int len, Mouse *m, void *kc, int (*_input)(Mouse*, void*, Rune*), Screen *scr);
 
 static int
-_input(Mouse *m, void *kc, Rune *k)
+_input(Mouse *m, void *, Rune *k)
 {
 	Event ev;
 
--- a/sys/src/libdraw/loadimage.c
+++ b/sys/src/libdraw/loadimage.c
@@ -30,7 +30,7 @@
 			dy = chunk/bpl;
 		if(dy <= 0){
 			dy = 1;
-			dx = ((chunk*dx)/bpl) & ~7;
+			dx = (((vlong)chunk*dx)/bpl) & ~7;
 			n = bytesperline(Rect(r.min.x, r.min.y, r.min.x+dx, r.min.y+dy), i->depth);
 			if(loadimage(i, Rect(r.min.x+dx, r.min.y, r.max.x, r.min.y+dy), data+n, bpl-n) < 0)
 				return -1;
--