code: drawterm

Download patch

ref: c5cba49d48149da2467326f0f2cfcd8bcbbee729
parent: 4c9f5697837697b995aef5088a3d8e18fc956222
author: Jacob Moody <moody@posixcafe.org>
date: Tue Oct 12 05:16:30 EDT 2021

Fix compilation when using -DPTHREAD

We should have this defined for making use of futex locks instead
of spin locks. When compiling with -DPTHREAD however, gcc gets
confused at our declaration of arrow in devmouse.c, naming
the members gives gcc enough of a hint that things work right.

--- a/Make.linux
+++ b/Make.linux
@@ -5,7 +5,7 @@
 AS=as
 RANLIB=ranlib
 CC=gcc
-CFLAGS=-Wall -Wno-missing-braces -ggdb -I$(ROOT) -I$(ROOT)/include -I$(ROOT)/kern -c -D_THREAD_SAFE $(PTHREAD) -O2
+CFLAGS=-Wall -Wno-missing-braces -ggdb -I$(ROOT) -I$(ROOT)/include -I$(ROOT)/kern -c -D_THREAD_SAFE -DPTHREAD $(PTHREAD) -O2
 O=o
 OS=posix
 GUI=wl
--- a/kern/devmouse.c
+++ b/kern/devmouse.c
@@ -11,14 +11,14 @@
 Mouseinfo	mouse;
 Cursorinfo	cursor;
 Cursorinfo      arrow = {
-	0,
-	{ -1, -1 },
-	{ 0xFF, 0xFF, 0x80, 0x01, 0x80, 0x02, 0x80, 0x0C,
+	.lk = 0,
+	.offset = { -1, -1 },
+	.clr = { 0xFF, 0xFF, 0x80, 0x01, 0x80, 0x02, 0x80, 0x0C,
 	  0x80, 0x10, 0x80, 0x10, 0x80, 0x08, 0x80, 0x04,
 	  0x80, 0x02, 0x80, 0x01, 0x80, 0x02, 0x8C, 0x04,
 	  0x92, 0x08, 0x91, 0x10, 0xA0, 0xA0, 0xC0, 0x40,
 	},
-	{ 0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFC, 0x7F, 0xF0,
+	.set = { 0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFC, 0x7F, 0xF0,
 	  0x7F, 0xE0, 0x7F, 0xE0, 0x7F, 0xF0, 0x7F, 0xF8,
 	  0x7F, 0xFC, 0x7F, 0xFE, 0x7F, 0xFC, 0x73, 0xF8,
 	  0x61, 0xF0, 0x60, 0xE0, 0x40, 0x40, 0x00, 0x00,