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(-)
This commit is contained in:
		
							
								
								
									
										5
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								st.c
									
									
									
									
									
								
							@ -1514,7 +1514,7 @@ csihandle(void) {
 | 
				
			|||||||
		break;
 | 
							break;
 | 
				
			||||||
	case 'c': /* DA -- Device Attributes */
 | 
						case 'c': /* DA -- Device Attributes */
 | 
				
			||||||
		if(csiescseq.arg[0] == 0)
 | 
							if(csiescseq.arg[0] == 0)
 | 
				
			||||||
			ttywrite(VT102ID, sizeof(VT102ID));
 | 
								ttywrite(VT102ID, sizeof(VT102ID) - 1);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case 'C': /* CUF -- Cursor <n> Forward */
 | 
						case 'C': /* CUF -- Cursor <n> Forward */
 | 
				
			||||||
	case 'a':
 | 
						case 'a':
 | 
				
			||||||
@ -1940,7 +1940,8 @@ tputc(char *c, int len) {
 | 
				
			|||||||
				term.esc = 0;
 | 
									term.esc = 0;
 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
			case 'Z': /* DECID -- Identify Terminal */
 | 
								case 'Z': /* DECID -- Identify Terminal */
 | 
				
			||||||
				ttywrite(VT102ID, sizeof(VT102ID));
 | 
									ttywrite(VT102ID, sizeof(VT102ID) - 1);
 | 
				
			||||||
 | 
									term.esc = 0;
 | 
				
			||||||
				break;
 | 
									break;
 | 
				
			||||||
			case 'c': /* RIS -- Reset to inital state */
 | 
								case 'c': /* RIS -- Reset to inital state */
 | 
				
			||||||
				treset();
 | 
									treset();
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user