svnno****@sourc*****
svnno****@sourc*****
2009年 6月 15日 (月) 17:20:51 JST
Revision: 3491 http://svn.sourceforge.jp/view?root=ttssh2&view=rev&rev=3491 Author: doda Date: 2009-06-15 17:20:51 +0900 (Mon, 15 Jun 2009) Log Message: ----------- VT100 モード時や Accept8BitCtrl が off の時は ST に反応しないように変更。 Modified Paths: -------------- trunk/teraterm/teraterm/vtterm.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/vtterm.c =================================================================== --- trunk/teraterm/teraterm/vtterm.c 2009-06-15 07:53:23 UTC (rev 3490) +++ trunk/teraterm/teraterm/vtterm.c 2009-06-15 08:20:51 UTC (rev 3491) @@ -26,6 +26,7 @@ #include "vtterm.h" #define MAPSIZE(x) (sizeof(x)/sizeof((x)[0])) +#define Accept8BitCtrl ((ts.TerminalID>=IdVT220J) && (ts.TermFlag & TF_ACCEPT8BITCTRL)) /* Parsing modes */ #define ModeFirst 0 @@ -667,9 +668,7 @@ WriteToPrnFile(0,TRUE); // flush prn buff return; case CSI: - if ((ts.TerminalID<IdVT220J) || - ((ts.TermFlag & TF_ACCEPT8BITCTRL)==0)) - { + if (! Accept8BitCtrl) { PutChar(b); /* Disp C1 char in VT100 mode */ return; } @@ -699,9 +698,7 @@ /* English mode */ if (ts.Language==IdEnglish) { - if ((ts.TerminalID<IdVT220J) || - ((ts.TermFlag & TF_ACCEPT8BITCTRL)==0)) - { + if (!Accept8BitCtrl) { PutChar(b); /* Disp C1 char in VT100 mode */ return; } @@ -2729,7 +2726,7 @@ } break; case ModeXsString: - if ((b==ST && ts.KanjiCode!=IdSJIS) || b==BEL) { /* String Terminator */ + if ((b==ST && Accept8BitCtrl && !(ts.Language==IdJapanese && ts.KanjiCode==IdSJIS)) || b==BEL) { /* String Terminator */ StrBuff[StrLen] = '\0'; switch (Param[1]) { case 0: /* Change window title and icon name */ @@ -2775,7 +2772,7 @@ } break; case ModeXsColorSpec: - if ((b==ST && ts.KanjiCode!=IdSJIS) || b==BEL) { /* String Terminator */ + if ((b==ST && Accept8BitCtrl && !(ts.Language==IdJapanese && ts.KanjiCode==IdSJIS)) || b==BEL) { /* String Terminator */ StrBuff[StrLen] = '\0'; if ((ts.ColorFlag & CF_XTERM256) && ColorNumber <= 255) { if (strcmp(StrBuff, "?") == 0) {