[ttssh2-commit] [10781] 改行を一つ多く出力してしまうことがあるので修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 6月 27日 (火) 22:28:59 JST


Revision: 10781
          https://osdn.net/projects/ttssh2/scm/svn/commits/10781
Author:   zmatsuo
Date:     2023-06-27 22:28:58 +0900 (Tue, 27 Jun 2023)
Log Message:
-----------
改行を一つ多く出力してしまうことがあるので修正

- 次の時改行を一つ多く出力してしまうことがある
  - ShiftJISなどの2byte文字受信時(UTF-8ではない)
  - 行末まで文字が出力されていて、カーソルが行末にある状態の時
    - Wrap状態
  - 2バイト文字の1バイト目を受信した後
  - CRを受信したとき
- 改行を出力しないよう修正

ticket #48285

Ticket Links:
------------
    https://osdn.net/projects/ttssh2/tracker/detail/48285

Modified Paths:
--------------
    trunk/teraterm/teraterm/charset.cpp
    trunk/teraterm/teraterm/charset.h
    trunk/teraterm/teraterm/vtterm.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/charset.cpp
===================================================================
--- trunk/teraterm/teraterm/charset.cpp	2023-06-24 14:44:54 UTC (rev 10780)
+++ trunk/teraterm/teraterm/charset.cpp	2023-06-27 13:28:58 UTC (rev 10781)
@@ -37,7 +37,6 @@
 #include <crtdbg.h>
 #include <assert.h>
 
-#include "buffer.h"	// for Wrap
 #include "ttwinman.h"
 #include "codeconv.h"
 #include "unicode.h"
@@ -255,11 +254,6 @@
 		else if ((ts.TermFlag & TF_CTRLINKANJI)==0) {
 			KanjiIn = FALSE;
 		}
-		else if ((b==CR) && Wrap) {
-			CarriageReturn(FALSE);
-			LineFeed(LF,FALSE);
-			Wrap = FALSE;
-		}
 	}
 
 	if (SSflag) {
@@ -407,11 +401,6 @@
 		else if ((ts.TermFlag & TF_CTRLINKANJI)==0) {
 			KanjiIn = FALSE;
 		}
-		else if ((b==CR) && Wrap) {
-			CarriageReturn(FALSE);
-			LineFeed(LF,FALSE);
-			Wrap = FALSE;
-		}
 	}
 
 	if ((!KanjiIn) && CheckFirstByte(b, ts.Language, ts.KanjiCode)) {
@@ -484,11 +473,6 @@
 		else if ((ts.TermFlag & TF_CTRLINKANJI)==0) {
 			KanjiIn = FALSE;
 		}
-		else if ((b==CR) && Wrap) {
-			CarriageReturn(FALSE);
-			LineFeed(LF,FALSE);
-			Wrap = FALSE;
-		}
 	}
 
 	if ((!KanjiIn) && CheckFirstByte(b, ts.Language, ts.KanjiCode)) {

Modified: trunk/teraterm/teraterm/charset.h
===================================================================
--- trunk/teraterm/teraterm/charset.h	2023-06-24 14:44:54 UTC (rev 10780)
+++ trunk/teraterm/teraterm/charset.h	2023-06-27 13:28:58 UTC (rev 10781)
@@ -39,8 +39,6 @@
 
 // output buffer
 void PutU32(unsigned int code);
-void CarriageReturn(BOOL logFlag);
-void LineFeed(BYTE b, BOOL logFlag);
 void ParseControl(BYTE b);
 
 // control

Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2023-06-24 14:44:54 UTC (rev 10780)
+++ trunk/teraterm/teraterm/vtterm.c	2023-06-27 13:28:58 UTC (rev 10781)
@@ -627,7 +627,6 @@
 		CommBinaryOut(&cv, str, l);
 		CommBinaryOut(&cv,"\033\\", 2);
 	}
-
 }
 
 static void BackSpace(void)
@@ -644,7 +643,7 @@
 	}
 }
 
-void CarriageReturn(BOOL logFlag)
+static void CarriageReturn(BOOL logFlag)
 {
 	if (!ts.EnableContinuedLineCopy || logFlag)
 		if (NeedsOutputBufs()) OutputLogByte(CR);
@@ -657,7 +656,7 @@
 	CharSetFallbackFinish();
 }
 
-void LineFeed(BYTE b, BOOL logFlag)
+static void LineFeed(BYTE b, BOOL logFlag)
 {
 	/* for auto print mode */
 	if ((AutoPrintMode) &&


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