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'
master
Hiltjo Posthuma 2019-03-15 14:44:28 +01:00
parent 9acec468fb
commit b650256044
1 changed files with 4 additions and 1 deletions

5
st.c
View File

@ -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