From: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 15 Mar 2019 13:44:28 +0000 (+0100)
Subject: dont print color warning on color reset OSC 104 without parameter
X-Git-Url: https://git.xinqibao.xyz/st.git/commitdiff_plain/b650256044f867851725f712fdac58d4ff294808

dont print color warning on color reset OSC 104 without parameter

also print explicitly "(null)" when printf "%s" p=NULL.

noticed when exiting mutt: printf '\x1b]104\x07'
---

diff --git a/st.c b/st.c
index f342e5c..48d65ca 100644
--- a/st.c
+++ b/st.c
@@ -1865,7 +1865,10 @@ strhandle(void)
 		case 104: /* color reset, here p = NULL */
 			j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
 			if (xsetcolorname(j, p)) {
-				fprintf(stderr, "erresc: invalid color %s\n", p);
+				if (par == 104 && narg <= 1)
+					return; /* color reset without parameter */
+				fprintf(stderr, "erresc: invalid color j=%d, p=%s\n",
+				        j, p ? p : "(null)");
 			} else {
 				/*
 				 * TODO if defaultbg color is changed, borders