]> git.armaanb.net Git - st.git/commitdiff
Fix Identification sequences
authorRoberto E. Vargas Caballero <k0ga@shike2.com>
Sun, 7 Oct 2012 09:06:00 +0000 (11:06 +0200)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Sun, 7 Oct 2012 09:06:00 +0000 (11:06 +0200)
Do not send NUL character in the identification (use (sizeof(VT102ID) - 1),
and finish  the sequence once you execute it.
---
 st.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

st.c

diff --git a/st.c b/st.c
index 85b0b5901f8d3d6b2fe8b96cce81f1d27cf75949..8c8efafe9f954aefaeb405cc01eedf36997d8d99 100644 (file)
--- a/st.c
+++ b/st.c
@@ -1514,7 +1514,7 @@ csihandle(void) {
                break;
        case 'c': /* DA -- Device Attributes */
                if(csiescseq.arg[0] == 0)
-                       ttywrite(VT102ID, sizeof(VT102ID));
+                       ttywrite(VT102ID, sizeof(VT102ID) - 1);
                break;
        case 'C': /* CUF -- Cursor <n> Forward */
        case 'a':
@@ -1940,7 +1940,8 @@ tputc(char *c, int len) {
                                term.esc = 0;
                                break;
                        case 'Z': /* DECID -- Identify Terminal */
-                               ttywrite(VT102ID, sizeof(VT102ID));
+                               ttywrite(VT102ID, sizeof(VT102ID) - 1);
+                               term.esc = 0;
                                break;
                        case 'c': /* RIS -- Reset to inital state */
                                treset();