Fix Identification sequences - st - Simple Terminal
Log
Files
Refs
README
LICENSE
---
commit 25f47cb83a71f7d2872a197209cc2d8cd1c955ec
parent ffeeb678c5c6c6b895ad494b5b62195dd9893f65
Author: Roberto E. Vargas Caballero 
Date:   Sun,  7 Oct 2012 11:06:00 +0200

Fix Identification sequences

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(-)
Diffstat:
  st.c                                |       5 +++--

1 file changed, 3 insertions(+), 2 deletions(-)
---
diff --git 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  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();