@ -2503,10 +2503,10 @@ tputc(char *c, int len) {  
															
														 
														
													
														
															
																 
																 
																				csiparse ( ) ;   
																 
																 
																				csiparse ( ) ;   
															
														 
														
													
														
															
																 
																 
																				csihandle ( ) ;   
																 
																 
																				csihandle ( ) ;   
															
														 
														
													
														
															
																 
																 
																			}   
																 
																 
																			}   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																			return ;   
															
														 
														
													
														
															
																 
																 
																		}  else  if ( term . esc  &  ESC_ALTCHARSET )  {   
																 
																 
																		}  else  if ( term . esc  &  ESC_ALTCHARSET )  {   
															
														 
														
													
														
															
																 
																 
																			tdeftran ( ascii ) ;   
																 
																 
																			tdeftran ( ascii ) ;   
															
														 
														
													
														
															
																 
																 
																			tselcs ( ) ;   
																 
																 
																			tselcs ( ) ;   
															
														 
														
													
														
															
																 
																 
																			term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																		}  else  if ( term . esc  &  ESC_TEST )  {   
																 
																 
																		}  else  if ( term . esc  &  ESC_TEST )  {   
															
														 
														
													
														
															
																 
																 
																			if ( ascii  = =  ' 8 ' )  {  /* DEC screen alignment test. */   
																 
																 
																			if ( ascii  = =  ' 8 ' )  {  /* DEC screen alignment test. */   
															
														 
														
													
														
															
																 
																 
																				char  E [ UTF_SIZ ]  =  " E " ;   
																 
																 
																				char  E [ UTF_SIZ ]  =  " E " ;   
															
														 
														
													
												
													
														
															
																
																	
																	
																	
																		
																			 
																		 
																	
																 
																@ -2517,15 +2517,14 @@ tputc(char *c, int len) {  
															
														 
														
													
														
															
																 
																 
																						tsetchar ( E ,  & term . c . attr ,  x ,  y ) ;   
																 
																 
																						tsetchar ( E ,  & term . c . attr ,  x ,  y ) ;   
															
														 
														
													
														
															
																 
																 
																				}   
																 
																 
																				}   
															
														 
														
													
														
															
																 
																 
																			}   
																 
																 
																			}   
															
														 
														
													
														
															
																 
																 
																			term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																		}  else  {   
																 
																 
																		}  else  {   
															
														 
														
													
														
															
																 
																 
																			switch ( ascii )  {   
																 
																 
																			switch ( ascii )  {   
															
														 
														
													
														
															
																 
																 
																			case  ' [ ' :   
																 
																 
																			case  ' [ ' :   
															
														 
														
													
														
															
																 
																 
																				term . esc  | =  ESC_CSI ;   
																 
																 
																				term . esc  | =  ESC_CSI ;   
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				return ;   
															
														 
														
													
														
															
																 
																 
																			case  ' # ' :   
																 
																 
																			case  ' # ' :   
															
														 
														
													
														
															
																 
																 
																				term . esc  | =  ESC_TEST ;   
																 
																 
																				term . esc  | =  ESC_TEST ;   
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				return ;   
															
														 
														
													
														
															
																 
																 
																			case  ' P ' :  /* DCS -- Device Control String */   
																 
																 
																			case  ' P ' :  /* DCS -- Device Control String */   
															
														 
														
													
														
															
																 
																 
																			case  ' _ ' :  /* APC -- Application Program Command */   
																 
																 
																			case  ' _ ' :  /* APC -- Application Program Command */   
															
														 
														
													
														
															
																 
																 
																			case  ' ^ ' :  /* PM -- Privacy Message */   
																 
																 
																			case  ' ^ ' :  /* PM -- Privacy Message */   
															
														 
														
													
												
													
														
															
																
																	
																	
																	
																		
																			 
																		 
																	
																 
																@ -2534,29 +2533,26 @@ tputc(char *c, int len) {  
															
														 
														
													
														
															
																 
																 
																				strreset ( ) ;   
																 
																 
																				strreset ( ) ;   
															
														 
														
													
														
															
																 
																 
																				strescseq . type  =  ascii ;   
																 
																 
																				strescseq . type  =  ascii ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  | =  ESC_STR ;   
																 
																 
																				term . esc  | =  ESC_STR ;   
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				return ;   
															
														 
														
													
														
															
																 
																 
																			case  ' ( ' :  /* set primary charset G0 */   
																 
																 
																			case  ' ( ' :  /* set primary charset G0 */   
															
														 
														
													
														
															
																 
																 
																			case  ' ) ' :  /* set secondary charset G1 */   
																 
																 
																			case  ' ) ' :  /* set secondary charset G1 */   
															
														 
														
													
														
															
																 
																 
																			case  ' * ' :  /* set tertiary charset G2 */   
																 
																 
																			case  ' * ' :  /* set tertiary charset G2 */   
															
														 
														
													
														
															
																 
																 
																			case  ' + ' :  /* set quaternary charset G3 */   
																 
																 
																			case  ' + ' :  /* set quaternary charset G3 */   
															
														 
														
													
														
															
																 
																 
																				term . icharset  =  ascii  -  ' ( ' ;   
																 
																 
																				term . icharset  =  ascii  -  ' ( ' ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  | =  ESC_ALTCHARSET ;   
																 
																 
																				term . esc  | =  ESC_ALTCHARSET ;   
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																				return ;   
															
														 
														
													
														
															
																 
																 
																			case  ' D ' :  /* IND -- Linefeed */   
																 
																 
																			case  ' D ' :  /* IND -- Linefeed */   
															
														 
														
													
														
															
																 
																 
																				if ( term . c . y  = =  term . bot )  {   
																 
																 
																				if ( term . c . y  = =  term . bot )  {   
															
														 
														
													
														
															
																 
																 
																					tscrollup ( term . top ,  1 ) ;   
																 
																 
																					tscrollup ( term . top ,  1 ) ;   
															
														 
														
													
														
															
																 
																 
																				}  else  {   
																 
																 
																				}  else  {   
															
														 
														
													
														
															
																 
																 
																					tmoveto ( term . c . x ,  term . c . y + 1 ) ;   
																 
																 
																					tmoveto ( term . c . x ,  term . c . y + 1 ) ;   
															
														 
														
													
														
															
																 
																 
																				}   
																 
																 
																				}   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' E ' :  /* NEL -- Next line */   
																 
																 
																			case  ' E ' :  /* NEL -- Next line */   
															
														 
														
													
														
															
																 
																 
																				tnewline ( 1 ) ;  /* always go to first col */   
																 
																 
																				tnewline ( 1 ) ;  /* always go to first col */   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' H ' :  /* HTS -- Horizontal tab stop */   
																 
																 
																			case  ' H ' :  /* HTS -- Horizontal tab stop */   
															
														 
														
													
														
															
																 
																 
																				term . tabs [ term . c . x ]  =  1 ;   
																 
																 
																				term . tabs [ term . c . x ]  =  1 ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' M ' :  /* RI -- Reverse index */   
																 
																 
																			case  ' M ' :  /* RI -- Reverse index */   
															
														 
														
													
														
															
																 
																 
																				if ( term . c . y  = =  term . top )  {   
																 
																 
																				if ( term . c . y  = =  term . top )  {   
															
														 
														
													
												
													
														
															
																
																	
																	
																	
																		
																			 
																		 
																	
																 
																@ -2564,46 +2560,38 @@ tputc(char *c, int len) {  
															
														 
														
													
														
															
																 
																 
																				}  else  {   
																 
																 
																				}  else  {   
															
														 
														
													
														
															
																 
																 
																					tmoveto ( term . c . x ,  term . c . y - 1 ) ;   
																 
																 
																					tmoveto ( term . c . x ,  term . c . y - 1 ) ;   
															
														 
														
													
														
															
																 
																 
																				}   
																 
																 
																				}   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' Z ' :  /* DECID -- Identify Terminal */   
																 
																 
																			case  ' Z ' :  /* DECID -- Identify Terminal */   
															
														 
														
													
														
															
																 
																 
																				ttywrite ( VT102ID ,  sizeof ( VT102ID )  -  1 ) ;   
																 
																 
																				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 ( ) ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				xresettitle ( ) ;   
																 
																 
																				xresettitle ( ) ;   
															
														 
														
													
														
															
																 
																 
																				xloadcols ( ) ;   
																 
																 
																				xloadcols ( ) ;   
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' = ' :  /* DECPAM -- Application keypad */   
																 
																 
																			case  ' = ' :  /* DECPAM -- Application keypad */   
															
														 
														
													
														
															
																 
																 
																				term . mode  | =  MODE_APPKEYPAD ;   
																 
																 
																				term . mode  | =  MODE_APPKEYPAD ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' > ' :  /* DECPNM -- Normal keypad */   
																 
																 
																			case  ' > ' :  /* DECPNM -- Normal keypad */   
															
														 
														
													
														
															
																 
																 
																				term . mode  & =  ~ MODE_APPKEYPAD ;   
																 
																 
																				term . mode  & =  ~ MODE_APPKEYPAD ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' 7 ' :  /* DECSC -- Save Cursor */   
																 
																 
																			case  ' 7 ' :  /* DECSC -- Save Cursor */   
															
														 
														
													
														
															
																 
																 
																				tcursor ( CURSOR_SAVE ) ;   
																 
																 
																				tcursor ( CURSOR_SAVE ) ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' 8 ' :  /* DECRC -- Restore Cursor */   
																 
																 
																			case  ' 8 ' :  /* DECRC -- Restore Cursor */   
															
														 
														
													
														
															
																 
																 
																				tcursor ( CURSOR_LOAD ) ;   
																 
																 
																				tcursor ( CURSOR_LOAD ) ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			case  ' \\ ' :  /* ST -- String Terminator */   
																 
																 
																			case  ' \\ ' :  /* ST -- String Terminator */   
															
														 
														
													
														
															
																 
																 
																				if ( term . esc  &  ESC_STR_END )   
																 
																 
																				if ( term . esc  &  ESC_STR_END )   
															
														 
														
													
														
															
																 
																 
																					strhandle ( ) ;   
																 
																 
																					strhandle ( ) ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			default :   
																 
																 
																			default :   
															
														 
														
													
														
															
																 
																 
																				fprintf ( stderr ,  " erresc: unknown sequence ESC 0x%02X '%c' \n " ,   
																 
																 
																				fprintf ( stderr ,  " erresc: unknown sequence ESC 0x%02X '%c' \n " ,   
															
														 
														
													
														
															
																 
																 
																					( uchar )  ascii ,  isprint ( ascii ) ?  ascii : ' . ' ) ;   
																 
																 
																					( uchar )  ascii ,  isprint ( ascii ) ?  ascii : ' . ' ) ;   
															
														 
														
													
														
															
																 
																 
																				term . esc  =  0 ;   
																 
																 
																 
															
														 
														
													
														
															
																 
																 
																				break ;   
																 
																 
																				break ;   
															
														 
														
													
														
															
																 
																 
																			}   
																 
																 
																			}   
															
														 
														
													
														
															
																 
																 
																		}   
																 
																 
																		}   
															
														 
														
													
														
															
																 
																 
																 
																 
																 
																		term . esc  =  0 ;   
															
														 
														
													
														
															
																 
																 
																		/*   
																 
																 
																		/*   
															
														 
														
													
														
															
																 
																 
																		 *  All  characters  which  form  part  of  a  sequence  are  not   
																 
																 
																		 *  All  characters  which  form  part  of  a  sequence  are  not   
															
														 
														
													
														
															
																 
																 
																		 *  printed   
																 
																 
																		 *  printed