[Ttssh2-commit] [4279] DECRQSS での SGR 問い合わせで、カラー情報も答えるようにした。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 1月 18日 (火) 01:52:34 JST


Revision: 4279
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4279
Author:   doda
Date:     2011-01-18 01:52:34 +0900 (Tue, 18 Jan 2011)

Log Message:
-----------
DECRQSS での SGR 問い合わせで、カラー情報も答えるようにした。

Modified Paths:
--------------
    trunk/teraterm/teraterm/vtterm.c


-------------- next part --------------
Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2011-01-17 10:50:28 UTC (rev 4278)
+++ trunk/teraterm/teraterm/vtterm.c	2011-01-17 16:52:34 UTC (rev 4279)
@@ -2984,7 +2984,8 @@
   FirstPrm = FALSE;
 }
 
-void RequestStatusString(unsigned char *StrBuff, int StrLen) {
+void RequestStatusString(unsigned char *StrBuff, int StrLen)	// DECRQSS
+{
 	unsigned char RepStr[256];
 	int len = 0;
 
@@ -3032,6 +3033,37 @@
 				RepStr[len++] = '7';
 				RepStr[len++] = ';';
 			}
+			if (CharAttr.Attr2 & Attr2Fore) {
+				if (CharAttr.Fore <= 7) {
+					RepStr[len++] = '3';
+					RepStr[len++] = '0' + CharAttr.Fore;
+					RepStr[len++] = ';';
+				}
+				else if (CharAttr.Fore <= 15) {
+					RepStr[len++] = '9';
+					RepStr[len++] = '0' + CharAttr.Fore - 8;
+					RepStr[len++] = ';';
+				}
+				else {
+					len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "38;5;%d;", CLocale, CharAttr.Fore);
+				}
+			}
+			if (CharAttr.Attr2 & Attr2Back) {
+				if (CharAttr.Back <= 7) {
+					RepStr[len++] = '4';
+					RepStr[len++] = '0' + CharAttr.Back;
+					RepStr[len++] = ';';
+				}
+				else if (CharAttr.Back <= 15) {
+					RepStr[len++] = '1';
+					RepStr[len++] = '0';
+					RepStr[len++] = '0' + CharAttr.Back - 8;
+					RepStr[len++] = ';';
+				}
+				else {
+					len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "48;5;%d;", CLocale, CharAttr.Back);
+				}
+			}
 			if (len == 3) {
 				RepStr[len++] = '0';
 			}



Ttssh2-commit メーリングリストの案内
Back to archive index