summary refs log tree commit diff
path: root/ui.c
diff options
context:
space:
mode:
authorC. McEnroe2020-02-11 23:01:38 -0500
committerC. McEnroe2020-02-11 23:01:38 -0500
commit8d873c71ede2ac1c0da4139d6fb9daf5d8c83f1e (patch)
tree60ec6eebb10a4a409b0e456ae2b34f49a9b142a8 /ui.c
parentfea344b7df8983c491da53a8ffbab87617ae2a23 (diff)
Support monochromatic terminals
Oops, division by zero!
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ui.c b/ui.c
index 348dd84..12936ae 100644
--- a/ui.c
+++ b/ui.c
@@ -136,6 +136,7 @@ static short colorPairs;
 static void colorInit(void) {
 	start_color();
 	use_default_colors();
+	if (!COLORS) return;
 	for (short pair = 0; pair < 16; ++pair) {
 		init_pair(1 + pair, pair % COLORS, -1);
 	}
@@ -143,12 +144,14 @@ static void colorInit(void) {
 }
 
 static attr_t colorAttr(short fg) {
+	if (!COLORS) return (fg > 0 ? A_BOLD : A_NORMAL);
 	if (fg != COLOR_BLACK && fg % COLORS == COLOR_BLACK) return A_BOLD;
 	if (COLORS > 8) return A_NORMAL;
 	return (fg / COLORS & 1 ? A_BOLD : A_NORMAL);
 }
 
 static short colorPair(short fg, short bg) {
+	if (!COLORS) return 0;
 	fg %= COLORS;
 	bg %= COLORS;
 	if (bg == -1 && fg < 16) return 1 + fg;