svnno****@sourc*****
svnno****@sourc*****
2010年 11月 24日 (水) 01:10:38 JST
Revision: 4162 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4162 Author: doda Date: 2010-11-24 01:10:38 +0900 (Wed, 24 Nov 2010) Log Message: ----------- DA3 に対応 Modified Paths: -------------- trunk/teraterm/teraterm/vtterm.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/vtterm.c =================================================================== --- trunk/teraterm/teraterm/vtterm.c 2010-11-23 13:40:54 UTC (rev 4161) +++ trunk/teraterm/teraterm/vtterm.c 2010-11-23 16:10:38 UTC (rev 4162) @@ -390,6 +390,32 @@ } +void SendDCSstr(char *str, int len) { + int l; + + if (str == NULL || len < 0) + return; + + if (len == 0) { + l = strlen(str); + } + else { + l = len; + } + + if (Send8BitMode) { + CommBinaryOut(&cv,"\220", 1); + CommBinaryOut(&cv, str, l); + CommBinaryOut(&cv,"\234", 1); + } + else { + CommBinaryOut(&cv,"\033P", 2); + CommBinaryOut(&cv, str, l); + CommBinaryOut(&cv,"\033\\", 2); + } + +} + void BackSpace() { if (CursorX == 0) @@ -2084,6 +2110,17 @@ } } + void CSEQ(BYTE b) + { + switch (b) { + case 'c': /* Tertiary terminal report (Tertiary DA) */ + if (Param[1] < 1) { + SendDCSstr("!|FFFFFFFF", 0); + } + break; + } + } + void CSGT(BYTE b) { switch (b) { @@ -2798,6 +2835,8 @@ case 'u': RestoreCursor(); break; // RCP (Restore cursor (ANSI.SYS/SCO)) } /* of case Prv=0 */ break; + /* private parameter = '=' */ + case '=': CSEQ(b); break; /* private parameter = '>' */ case '>': CSGT(b); break; /* private parameter = '?' */