[ttssh2-commit] [10302] Kermit の調整をマージ

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2022年 10月 8日 (土) 00:43:30 JST


Revision: 10302
          https://osdn.net/projects/ttssh2/scm/svn/commits/10302
Author:   nmaya
Date:     2022-10-08 00:43:29 +0900 (Sat, 08 Oct 2022)
Log Message:
-----------
Kermit の調整をマージ

merge from trunk: r10172, r10173, r10174, r10175, r10182, r10282
ticket: #44873, #44691

Revision Links:
--------------
    https://osdn.net/projects/ttssh2/scm/svn/commits/10172
    https://osdn.net/projects/ttssh2/scm/svn/commits/10173
    https://osdn.net/projects/ttssh2/scm/svn/commits/10174
    https://osdn.net/projects/ttssh2/scm/svn/commits/10175
    https://osdn.net/projects/ttssh2/scm/svn/commits/10182
    https://osdn.net/projects/ttssh2/scm/svn/commits/10282

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

Modified Paths:
--------------
    branches/4-stable/doc/en/html/about/history.html
    branches/4-stable/doc/ja/html/about/history.html
    branches/4-stable/teraterm/common/ttftypes.h
    branches/4-stable/teraterm/ttpfile/kermit.c

-------------- next part --------------
Modified: branches/4-stable/doc/en/html/about/history.html
===================================================================
--- branches/4-stable/doc/en/html/about/history.html	2022-10-07 14:47:10 UTC (rev 10301)
+++ branches/4-stable/doc/en/html/about/history.html	2022-10-07 15:43:29 UTC (rev 10302)
@@ -65,6 +65,8 @@
       <!--li>TERATERM.INI \x82\xCC MouseCursor \x82̐ݒ\xE8\x92l\x82\xAA\x8F\xAC\x95\xB6\x8E\x9A\x82\xBE\x82\xC6 Additional settings \x83_\x83C\x83A\x83\x8D\x83O\x82ɔ\xBD\x89f\x82\xB3\x82\xEA\x82Ȃ\xA2\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3</li-->
       <li>Fixed wrong color numbers were changed when the color palette change in Visual Tab in Additional settings dialog.</li>
       <li>Fixed wrong color numbers in the color change and response sequence.</li>
+      <!--li>Kermit \x82Ńt\x83@\x83C\x83\x8B\x82\xF0\x8E\xF3\x90M\x82ł\xAB\x82Ȃ\xA2\x82\xB1\x82Ƃ\xAA\x82\xA0\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B</li-->
+      <!--li>Kermit \x82̑\x97\x90M\x83p\x83P\x83b\x83g\x82̃T\x83C\x83Y\x82𒲐\xAE\x82\xB5\x82\xBD\x81B</li-->
     </ul>
   </li>
 

Modified: branches/4-stable/doc/ja/html/about/history.html
===================================================================
--- branches/4-stable/doc/ja/html/about/history.html	2022-10-07 14:47:10 UTC (rev 10301)
+++ branches/4-stable/doc/ja/html/about/history.html	2022-10-07 15:43:29 UTC (rev 10302)
@@ -65,6 +65,8 @@
       <li>TERATERM.INI \x82\xCC MouseCursor \x82̐ݒ\xE8\x92l\x82\xAA\x8F\xAC\x95\xB6\x8E\x9A\x82\xBE\x82\xC6 Additional settings \x83_\x83C\x83A\x83\x8D\x83O\x82ɔ\xBD\x89f\x82\xB3\x82\xEA\x82Ȃ\xA2\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3</li>
       <li>\x82\xBB\x82̑\xBC\x82̐ݒ\xE8\x83_\x83C\x83A\x83\x8D\x83O\x82̕\\x8E\xA6\x83^\x83u\x82̃J\x83\x89\x81[\x83p\x83\x8C\x83b\x83g\x95ύX\x82Ő\xB3\x82\xB5\x82\xAD\x82Ȃ\xA2\x90F\x94ԍ\x86\x82\xAA\x95ύX\x82\xB3\x82\xEA\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B</li>
       <li>\x83J\x83\x89\x81[\x83p\x83\x8C\x83b\x83g\x95ύX\x81A\x8E擾\x83V\x81[\x83P\x83\x93\x83X\x82ŁA\x90F\x94ԍ\x86\x82\xF0\x8C\xEB\x82\xC1\x82Ă\xA2\x82\xBD\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B</li>
+      <li>Kermit \x82Ńt\x83@\x83C\x83\x8B\x82\xF0\x8E\xF3\x90M\x82ł\xAB\x82Ȃ\xA2\x82\xB1\x82Ƃ\xAA\x82\xA0\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B</li>
+      <li>Kermit \x82̑\x97\x90M\x83p\x83P\x83b\x83g\x82̃T\x83C\x83Y\x82𒲐\xAE\x82\xB5\x82\xBD\x81B</li>
     </ul>
   </li>
 

Modified: branches/4-stable/teraterm/common/ttftypes.h
===================================================================
--- branches/4-stable/teraterm/common/ttftypes.h	2022-10-07 14:47:10 UTC (rev 10301)
+++ branches/4-stable/teraterm/common/ttftypes.h	2022-10-07 15:43:29 UTC (rev 10302)
@@ -147,6 +147,7 @@
 
 typedef struct {
 	int MAXL;
+	int MAXLX;
 	BYTE TIME,NPAD,PADC,EOL,QCTL,QBIN,CHKT,REPT,CAPAS,WINDO,MAXLX1,MAXLX2;
 } KermitParam;
 

Modified: branches/4-stable/teraterm/ttpfile/kermit.c
===================================================================
--- branches/4-stable/teraterm/ttpfile/kermit.c	2022-10-07 14:47:10 UTC (rev 10301)
+++ branches/4-stable/teraterm/ttpfile/kermit.c	2022-10-07 15:43:29 UTC (rev 10302)
@@ -44,8 +44,6 @@
 #include "ftlib.h"
 #include "win16api.h"
 
-#define KERMIT_CAPAS
-
 /* kermit parameters */
 #define MaxNum 94
 
@@ -65,6 +63,17 @@
 #define	KMT_CAP_LONGPKT	2
 #define	KMT_CAP_SLIDWIN	4
 #define	KMT_CAP_FILATTR	8
+/*
+ * Long Packet \x82̓\xAE\x8D\xEC
+ * - \x8E\xF3\x90M
+ *   KmtLongPacket \x82\xAA\x97L\x8C\xF8\x82Ȃ\xE7 kv->KmtMy.CAPAS \x82\xCC Long Packet \x82\xF0\x97L\x8C\xF8\x82ɂ\xB7\x82\xE9
+ *   kv->KmtMy.CAPAS \x82\xAA\x83\x8A\x83\x82\x81[\x83g\x82ɑ\x97\x90M\x82\xB3\x82\xEA\x81ALong Packet \x82\xAA\x8E\xF3\x90M\x89”\\x82ł\xA0\x82邱\x82Ƃ\xF0\x93`\x82\xA6\x82\xE9
+ *   Long Packet \x82\xAA\x94\xF2\x82\xF1\x82ł\xAD\x82\xE9\x82ƁAKmtLongPacket \x82̐ݒ\xE8\x82ɂ\xA9\x82\xA9\x82\xED\x82炸\x8E\xF3\x90M\x82\xB7\x82\xE9
+ * - \x91\x97\x90M
+ *   \x83\x8A\x83\x82\x81[\x83g\x82\xA9\x82\xE7\x82̒ʒm\x82\xAA kv->KmtYour.CAPAS \x82ɕۑ\xB6\x82\xB3\x82\xEA\x82\xE9
+ *   kv->KmtYour.CAPAS \x82\xAA\x97L\x8C\xF8\x82\xC5 kv->KmtMy.CAPAS (KmtLongPacket) \x82\xE0\x97L\x8C\xF8\x82Ȃ璷\x82\xA2\x91\x97\x90M\x83f\x81[\x83^\x82\xF0\x8D쐬\x82\xB7\x82\xE9
+ *   LEN \x82\xAA 94 \x82𒴂\xA6\x82\xE9\x83p\x83P\x83b\x83g\x82\xCD Long Packet \x82ő\x97\x90M\x82\xB7\x82\xE9
+ */
 
 #define	KMT_ATTR_TIME	001
 #define	KMT_ATTR_MODE	002
@@ -265,22 +274,12 @@
 		CommBinaryOut(cv,&(kv->KmtYour.PADC), 1);
 
 	/* packet */
-#ifdef KERMIT_CAPAS
 	C = kv->PktOutCount;
-#else
-	C = KmtNum(kv->PktOut[1]) + 2;
-#endif
 	CommBinaryOut(cv,&kv->PktOut[0], C);
 
 	if (fv->LogFlag)
 	{
-#if 0
-		_lwrite(fv->LogFile,"> ",2);
-		_lwrite(fv->LogFile,&(kv->PktOut[1]),C-1);
-		_lwrite(fv->LogFile,"\015\012",2);
-#else
 		KmtWriteLog(fv, kv, &(kv->PktOut[0]), C);
-#endif
 	}
 
 	/* end-of-line character */
@@ -354,18 +353,16 @@
 	kv->PktOut[11] = kv->KmtMy.CHKT + 0x30;
 	kv->PktOut[12] = kv->KmtMy.REPT;
 
-#ifdef KERMIT_CAPAS
 	if (kv->KmtMy.CAPAS > 0) {
 		kv->PktOut[13] = KmtChar(kv->KmtMy.CAPAS);
 		NParam++;
 		if (kv->KmtMy.CAPAS & KMT_CAP_LONGPKT) {
 			kv->PktOut[14] = KmtChar(0);
-			kv->PktOut[15] = KmtChar(KMT_DATAMAX / 95);
-			kv->PktOut[16] = KmtChar(KMT_DATAMAX % 95);
+			kv->PktOut[15] = KmtChar(kv->KmtMy.MAXLX / 95);
+			kv->PktOut[16] = KmtChar(kv->KmtMy.MAXLX % 95);
 			NParam += 3;
 		}
 	}
-#endif
 
 	KmtMakePacket(fv,kv,(BYTE)(kv->PktNum - kv->PktNumOffset),PktType,NParam);
 	KmtSendPacket(fv,kv,cv);
@@ -433,7 +430,8 @@
 
 void KmtParseInit(PKmtVar kv, BOOL AckFlag)
 {
-	int i, NParam, off, cap, maxlen;
+	int i, NParam, off;
+	int maxlen = 0;
 	BYTE b, n;
 
 	if (kv->PktInLen == 0) {  /* Long Packet */
@@ -488,6 +486,7 @@
 				  }
 			  }
 			  else /* S-packet from remote host */
+			  {
 				  if ((b=='Y') && KmtCheckQuote(kv->KmtMy.QBIN))
 					  kv->Quote8 = TRUE;
 				  else if (KmtCheckQuote(b))
@@ -495,10 +494,12 @@
 					  kv->KmtMy.QBIN = b;
 					  kv->Quote8 = TRUE;
 				  }
+			  }
 
-				  if (! kv->Quote8) kv->KmtMy.QBIN = 'N';
-				  kv->KmtYour.QBIN = kv->KmtMy.QBIN;
-				  break;
+			  if (! kv->Quote8)
+				  kv->KmtMy.QBIN = 'N';
+			  kv->KmtYour.QBIN = kv->KmtMy.QBIN;
+			  break;
 
 		  case 8:
 			  kv->KmtYour.CHKT = b - 0x30;
@@ -535,19 +536,6 @@
 
 		  case 10:  /* CAPAS */
 			  kv->KmtYour.CAPAS = n;
-
-			  // Tera Term\x82ƃT\x81[\x83o\x82\xCC capabilities \x82\xCCAND\x82\xF0\x8E\xE6\x82\xE9\x81B
-			  cap = 0;
-			  if (n & kv->KmtMy.CAPAS & KMT_CAP_LONGPKT) {
-				  cap |= KMT_CAP_LONGPKT;
-			  }
-			  if (n & kv->KmtMy.CAPAS & KMT_CAP_SLIDWIN) {
-				  cap |= KMT_CAP_SLIDWIN;
-			  }
-			  if (n & kv->KmtMy.CAPAS & KMT_CAP_FILATTR) {
-				  cap |= KMT_CAP_FILATTR;
-			  }
-			  kv->KmtMy.CAPAS = cap;
 			  break;
 
 		  case 11:  /* WINDO */
@@ -564,14 +552,13 @@
 		}
 	}
 
-	/* Long Packet \x82̏ꍇ\x81AMAXL \x82\xF0\x8DX\x90V\x82\xB7\x82\xE9\x81B*/
-	if (kv->KmtMy.CAPAS & KMT_CAP_LONGPKT) {
-		kv->KmtMy.MAXL = maxlen;
-		if (kv->KmtMy.MAXL < 10)
-			kv->KmtMy.MAXL = 80;
-		else if (kv->KmtMy.MAXL > KMT_DATAMAX)
-			kv->KmtMy.MAXL = KMT_DATAMAX;
+	/* Long Packet \x82̏ꍇ\x81AMAXLX \x82\xF0\x8DX\x90V\x82\xB7\x82\xE9\x81B*/
+	if (kv->KmtYour.CAPAS & KMT_CAP_LONGPKT) {
+		kv->KmtYour.MAXLX = maxlen;
 
+		// \x82\xB1\x82\xBF\x82\xE7\x82̑\x97\x90M\x83o\x83b\x83t\x83@\x83T\x83C\x83Y\x82𒴂\xA6\x82Ȃ\xA2\x82\xBD\x82\xDF
+		if (kv->KmtYour.MAXL > KMT_DATAMAX)
+			kv->KmtYour.MAXL = KMT_DATAMAX;
 	} else {
 		/* Capabilities \x82\xAA\x97\x8E\x82\xBF\x82Ă\xA2\x82\xE9\x82̂ɁALEN=0 \x82̏ꍇ\x82́AMAXL \x82\xCD DefMAXL \x82̂܂܂Ƃ\xB7\x82\xE9\x81B
 		 * TODO: \x96{\x97\x88\x82̓G\x83\x89\x81[\x82Ƃ\xB7\x82ׂ\xAB\x81H
@@ -928,19 +915,15 @@
 	DataLen = 0;
 	DataLenNew = 0;
 
-	if (kv->KmtMy.CAPAS & KMT_CAP_LONGPKT) {
-		// Long Packet\x82\xC594\x83o\x83C\x83g\x88ȏ㑗\x82\xE9\x82ƁA\x82Ȃ\xBA\x82\xA9\x91\x8A\x8E葤\x82\xAA\x8E󂯎\xE6\x82\xC1\x82Ă\xAD\x82\xEA\x82Ȃ\xA2\x82̂ŁA
-		// \x91\x97\x90M\x8E\xB8\x94s\x82\xB7\x82邽\x82߁A94\x83o\x83C\x83g\x82ɐ\xA7\x8C\xC0\x82\xB7\x82\xE9\x81B
-		// \x8E\xF3\x90M\x82͑\xAC\x82\xA2\x82\xAA\x81A\x91\x97\x90M\x82͒x\x82\xAD\x82Ȃ\xE9\x81B
-		// (2012.2.5 yutaka)
-		// CommBinaryOut() \x82\xC51KB\x82܂łƂ\xA2\x82\xA4\x90\xA7\x8C\xC0\x82\xAA\x82\xA9\x82\xA9\x82\xC1\x82Ă\xA2\x82邱\x82Ƃ\xAA\x94\xBB\x96\xBE\x82\xB5\x82\xBD\x82\xBD\x82߁A
-		// 512\x83o\x83C\x83g\x82܂łɊg\x92\xA3\x82\xB7\x82\xE9\x81B
-		// (2012.2.7 yutaka)
-		maxlen = kv->KmtMy.MAXL - kv->KmtMy.CHKT - LONGPKT_HEADNUM - 1;
-		maxlen = min(maxlen, 512);
+	// Long Packet
+	//   \x83\x8A\x83\x82\x81[\x83g\x82\xCC CAPAS \x82\xAA\x97L\x8C\xF8\x81A\x82\xA9\x82\xC2 Tera Term \x82̐ݒ肪\x97L\x8C\xF8
+	if (kv->KmtYour.CAPAS & KMT_CAP_LONGPKT &&
+	    kv->KmtMy.CAPAS & KMT_CAP_LONGPKT) {
+		// CommBinaryOut() \x82̐\xA7\x8C\xC0\x82\xCD 16KB \x82ŁAKMT_PKTMAX=4032 \x82𒴂\xA6\x82Ȃ\xA2
+		maxlen = kv->KmtYour.MAXLX - kv->KmtMy.CHKT - 7;
 
 	} else {
-		maxlen = kv->KmtYour.MAXL-kv->KmtMy.CHKT-4;
+		maxlen = kv->KmtYour.MAXL - kv->KmtMy.CHKT - 2;
 	}
 
 	NextFlag = KmtEncode(fv,kv);
@@ -1171,15 +1154,22 @@
 	 * (2012/1/22 yutaka) 
 	 */
 	kv->KmtMy.CAPAS = 0x00;
-#ifdef KERMIT_CAPAS
-	if (ts->KermitOpt & KmtOptLongPacket)
+	if (ts->KermitOpt & KmtOptLongPacket) {
 		kv->KmtMy.CAPAS |= KMT_CAP_LONGPKT;
+		kv->KmtMy.MAXLX = KMT_DATAMAX;
+	}
+	else {
+		// Tera Term \x82\xA9\x82\xE7\x97L\x8C\xF8\x82\xBE\x82ƒʒm\x82\xB5\x82Ă\xA2\x82Ȃ\xAD\x82Ă\xE0
+		// Long Packet \x82𑗂\xC1\x82Ă\xAD\x82\xE9\x8Fꍇ\x82̂\xBD\x82\xDF
+		kv->KmtMy.MAXLX = KMT_DATAMAX;
+	}
 	if (ts->KermitOpt & KmtOptFileAttr)
 		kv->KmtMy.CAPAS |= KMT_CAP_FILATTR;
-#endif
 
 	/* default your parameters */
 	kv->KmtYour = kv->KmtMy;
+	kv->KmtYour.CAPAS = 0x00;
+	kv->KmtYour.MAXLX = 0;
 
 	kv->Quote8 = FALSE;
 	kv->RepeatFlag = FALSE;
@@ -1285,11 +1275,22 @@
 			case WaitLen:
 				kv->PktIn[1] = b;
 				kv->PktInLen = KmtNum(b);
-#ifdef KERMIT_CAPAS
+
 				if (kv->PktInLen == 0) {  /* Long Packet */
 					kv->PktInCount = 0;
 				} else if (kv->PktInLen >= 3) {  /* Normal Packet */
 					kv->PktInCount = kv->PktInLen + 2;
+					// OutputDebugPrintf("Normal Packet: %d bytes\n", kv->PktInCount);
+					
+					// "Initialize \x82Ń\x8A\x83\x82\x81[\x83g\x82\xAA\x91\x97\x82\xC1\x82Ă\xAB\x82\xBD MAXL" + 2 (MARK, LEN)
+					// \x82𒴂\xA6\x82\xE9\x83T\x83C\x83Y\x82̃p\x83P\x83b\x83g\x82\xF0\x83\x8A\x83\x82\x81[\x83g\x82\xAA\x91\x97\x82낤\x82Ƃ\xB5\x82Ă\xAB\x82\xBD
+					if (kv->PktInCount > kv->KmtMy.MAXL + 2) {
+						KmtStringLog(fv, kv, "Remote is attempting to send %d bytes, but MAXL from remote is %d. Must be less than or equal to %d bytes.",
+						             kv->PktInCount, kv->KmtMy.MAXL, kv->KmtMy.MAXL + 2);
+						GetPkt = FALSE;
+						kv->PktReadMode = WaitMark;
+						goto read_end;
+					}
 				} else {
 					/* If unchar(LEN) = 1 or 2, the packet is invalid and should cause an Error. */
 					KmtStringLog(fv, kv, "If unchar(LEN) = %d is 1 or 2, the packet is invalid.", kv->PktInLen);
@@ -1297,29 +1298,30 @@
 					kv->PktReadMode = WaitMark;
 					goto read_end;
 				}
-#else
-				kv->PktInCount = kv->PktInLen;
-#endif
+
 				kv->PktInPtr = 2;
 				kv->PktReadMode = WaitCheck;
 				break;
 			case WaitCheck:
-				// \x83o\x83b\x83t\x83@\x82\xAA\x88\xEC\x82ꂽ\x82\xE7\x81A\x88ُ\xED\x8FI\x97\xB9\x82\xB7\x82\xE9\x81B
-				// Tera Term\x91\xA4\x82\xAALong Packet\x82\xF0\x83T\x83|\x81[\x83g\x82\xB5\x82Ă\xA2\x82Ȃ\xA2\x8Fꍇ\x82ɁA\x83T\x81[\x83o\x91\xA4\x82\xA9\x82\xE7\x95s\x90\xB3\x82\xC9
-				// Long Packet\x82\xAA\x91\x97\x82\xE7\x82\xEA\x82Ă\xAB\x82\xBD\x8Fꍇ\x82\xE0\x8B~\x8Dςł\xAB\x82\xE9\x81B
-				if (kv->PktInPtr > kv->KmtMy.MAXL) {
-					KmtStringLog(fv, kv, "Read buffer overflow(%d > %d).", kv->PktInPtr, kv->KmtMy.MAXL);
-					GetPkt = FALSE;
-					kv->PktReadMode = WaitMark;
-					goto read_end;
-				}
 				kv->PktIn[kv->PktInPtr] = b;
 				kv->PktInPtr++;
-#ifdef KERMIT_CAPAS
-				// Long Packet
+				/* Long Packet */
+				// Tera Term \x82\xA9\x82\xE7\x97L\x8C\xF8\x82\xBE\x82ƒʒm\x82\xB5\x82Ă\xA2\x82Ȃ\xAD\x82Ă\xE0\x8E\xF3\x90M\x82\xB7\x82\xE9
 				if (kv->PktInCount == 0 && kv->PktInPtr == 6) {
 					kv->PktInLongPacketLen = KmtNum(kv->PktIn[4])*95 + KmtNum(kv->PktIn[5]);
 					kv->PktInCount = kv->PktInLongPacketLen + 7;
+					// OutputDebugPrintf("Long Packet: %d bytes\n", kv->PktInCount);
+
+					// "Initialize \x82Ń\x8A\x83\x82\x81[\x83g\x82\xAA\x91\x97\x82\xC1\x82Ă\xAB\x82\xBD MAXLX1*95 + MAXLX2" + 7 (MARK \x82\xA9\x82\xE7 HCHECK)
+					// \x82𒴂\xA6\x82\xE9\x83T\x83C\x83Y\x82̃p\x83P\x83b\x83g\x82\xF0\x83\x8A\x83\x82\x81[\x83g\x82\xAA\x91\x97\x82낤\x82Ƃ\xB5\x82Ă\xAB\x82\xBD
+					//   +1 \x82\xCD C-Kermit 9.0.305 Alpha.05 \x82\xA9\x82\xE7 C-Kermit 10.0 Beta.04 \x82܂ł\xAA 1 \x83o\x83C\x83g\x91\xBD\x82\xAD\x91\x97\x82\xC1\x82Ă\xAD\x82邽\x82\xDF
+					if (kv->PktInCount > kv->KmtMy.MAXLX + 7 + 1) {
+						KmtStringLog(fv, kv, "Remote is attempting to send %d bytes, but MAXLX from remote is %d. Must be less than or equal to %d bytes.",
+						             kv->PktInCount, kv->KmtMy.MAXLX, kv->KmtMy.MAXLX + 7 + 1);
+						GetPkt = FALSE;
+						kv->PktReadMode = WaitMark;
+						goto read_end;
+					}
 				}
 
 				// \x8A\xFA\x91҂\xB5\x82\xBD\x83o\x83b\x83t\x83@\x83T\x83C\x83Y\x82ɂȂ\xC1\x82\xBD\x82\xE7\x8FI\x82\xED\x82\xE9\x81B
@@ -1326,10 +1328,7 @@
 				if (kv->PktInCount != 0 && kv->PktInPtr >= kv->PktInCount) {
 					GetPkt = TRUE;
 				}
-#else
-				kv->PktInCount--;
-				GetPkt = (kv->PktInCount==0);
-#endif
+
 				if (GetPkt) kv->PktReadMode = WaitMark;
 				break;  
 			}
@@ -1342,11 +1341,7 @@
 
 	if (fv->LogFlag)
 	{
-#ifdef KERMIT_CAPAS
 		KmtReadLog(fv, kv, &(kv->PktIn[0]), kv->PktInCount);
-#else
-		KmtReadLog(fv, kv, &(kv->PktIn[0]), kv->PktInLen+2);
-#endif
 	}
 
 	PktNumNew = KmtCalcPktNum(kv,kv->PktIn[2]);
@@ -1370,6 +1365,7 @@
 			fv->Success = TRUE;
 			return FALSE;
 		}
+		break;
 	case 'D':
 		if ((kv->KmtState == ReceiveData) &&
 			(PktNumNew > kv->PktNum))
@@ -1419,7 +1415,7 @@
 			if (PktNumNew==kv->PktNum)
 				KmtSendPacket(fv,kv,cv);
 			else if (PktNumNew==kv->PktNum+1) {
-				if (kv->KmtMy.CAPAS & KMT_CAP_FILATTR) 
+				if (kv->KmtYour.CAPAS & KMT_CAP_FILATTR)
 					KmtSendNextData(fv,kv,cv);
 				else
 					KmtSendNextData(fv,kv,cv);
@@ -1471,7 +1467,7 @@
 			break;
 		case SendFile:
 			if (PktNumNew==kv->PktNum) {
-				if (kv->KmtMy.CAPAS & KMT_CAP_FILATTR)
+				if (kv->KmtYour.CAPAS & KMT_CAP_FILATTR)
 					KmtSendNextFileAttr(fv,kv,cv);
 				else
 					KmtSendNextData(fv,kv,cv);


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