From: Avi Halachmi (:avih) Date: Wed, 16 Oct 2019 09:19:49 +0000 (+0300) Subject: STREscape: don't trim prematurely X-Git-Url: https://git.armaanb.net/?p=st.git;a=commitdiff_plain;h=7ceb3d1f72eabfa678e5cfae176c57630ad98c43;hp=ea4d933ed9d8ce16699c84892a29e070c70b2eb9 STREscape: don't trim prematurely STRescape holds strings in escape sequences such as OSC and DCS, and its buffer is 512 bytes. If the input is too big then trailing chars are ignored, but the test was off-by-1 such that it took 510 chars instead of 511 (before a terminating NULL is added). Now the full size can be utilized. --- diff --git a/st.c b/st.c index a8f8232..50226d1 100644 --- a/st.c +++ b/st.c @@ -2330,7 +2330,7 @@ tputc(Rune u) if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q') term.mode |= MODE_SIXEL; - if (strescseq.len+len >= sizeof(strescseq.buf)-1) { + if (strescseq.len+len >= sizeof(strescseq.buf)) { /* * Here is a bug in terminals. If the user never sends * some code to stop the str or esc command, then st