[Ttssh2-commit] [9000] BPlus の BPStart(), QuickVAN の QVStart() API を使用しないようにした

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 11月 2日 (月) 00:36:22 JST


Revision: 9000
          https://osdn.net/projects/ttssh2/scm/svn/commits/9000
Author:   zmatsuo
Date:     2020-11-02 00:36:22 +0900 (Mon, 02 Nov 2020)
Log Message:
-----------
BPlus の BPStart(), QuickVAN の QVStart() API を使用しないようにした

- BPSendStart(), BPStartReceive() に統一
- bplusダイアログ修正

Modified Paths:
--------------
    branches/proto_unicode/teraterm/teraterm/filesys.h
    branches/proto_unicode/teraterm/teraterm/filesys_proto.cpp
    branches/proto_unicode/teraterm/teraterm/ttdde.c
    branches/proto_unicode/teraterm/teraterm/vtterm.c
    branches/proto_unicode/teraterm/teraterm/vtwin.cpp
    branches/proto_unicode/teraterm/ttpfile/bplus.c

-------------- next part --------------
Modified: branches/proto_unicode/teraterm/teraterm/filesys.h
===================================================================
--- branches/proto_unicode/teraterm/teraterm/filesys.h	2020-11-01 15:36:07 UTC (rev 8999)
+++ branches/proto_unicode/teraterm/teraterm/filesys.h	2020-11-01 15:36:22 UTC (rev 9000)
@@ -56,9 +56,8 @@
 BOOL YMODEMStartSend(const char *fiename);
 BOOL ZMODEMStartReceive(BOOL macro, BOOL autostart);
 BOOL ZMODEMStartSend(const char *fiename, WORD ParamBinaryFlag, BOOL autostart);
-void BPStart(int mode);
-BOOL BPSendStart(const char *filename);
-BOOL BPStartReceive(void);
+BOOL BPStartSend(const char *filename);
+BOOL BPStartReceive(BOOL macro, BOOL autostart);
 void QVStart(int mode);
 BOOL QVStartReceive(void);
 BOOL QVStartSend(const char *filename);

Modified: branches/proto_unicode/teraterm/teraterm/filesys_proto.cpp
===================================================================
--- branches/proto_unicode/teraterm/teraterm/filesys_proto.cpp	2020-11-01 15:36:07 UTC (rev 8999)
+++ branches/proto_unicode/teraterm/teraterm/filesys_proto.cpp	2020-11-01 15:36:22 UTC (rev 9000)
@@ -1452,7 +1452,7 @@
 	return TRUE;
 }
 
-static BOOL _GetTransFname(PFileVarProto fv, const char *DlgCaption)
+static char **_GetTransFname(HWND hWnd, const char *DlgCaption)
 {
 	wchar_t TempDir[MAX_PATH];
 	char FileName[MAX_PATH];
@@ -1467,74 +1467,67 @@
 
 	char *FNFilter = GetCommonDialogFilterA(ts.FileSendFilter, UILanguageFile);
 
-	ExtractFileName(fv->FullName, FileName ,sizeof(FileName));
-	strncpy_s(fv->FullName, sizeof(fv->FullName), FileName, _TRUNCATE);
-
 	OPENFILENAME ofn = {};
 	ofn.lStructSize = get_OPENFILENAME_SIZE();
-	ofn.hwndOwner   = fv->HMainWin;
+	ofn.hwndOwner   = hWnd;
 	ofn.lpstrFilter = FNFilter;
 	ofn.nFilterIndex = 1;
-	ofn.lpstrFile = fv->FullName;
-	ofn.nMaxFile = sizeof(fv->FullName);
+	ofn.lpstrFile = FileName;
+	ofn.nMaxFile = _countof(FileName);
 	ofn.lpstrInitialDir = CurDir;
-
-	ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
-
-	ofn.Flags |= OFN_SHOWHELP;
-
+	ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_SHOWHELP;
 	ofn.lpstrTitle = DlgCaption;
-
 	ofn.hInstance = hInst;
 
 	BOOL Ok = GetOpenFileName(&ofn);
 	free(FNFilter);
 
+	char **ret = NULL;
 	if (Ok) {
-		fv->DirLen = ofn.nFileOffset;
+		ret = MakeStrArrayFromStr(FileName);
 	}
 	/* restore dir */
 	_SetCurrentDirectoryW(TempDir);
-	return Ok;
+	return ret;
 }
 
-void BPStart(int mode)
+BOOL BPStartSend(const char *filename)
 {
+	if (FileVar != NULL) {
+		return FALSE;
+	}
+	if (!NewFileVar_(&FileVar)) {
+		return FALSE;
+	}
+
+	TFileVarProto *fv = FileVar;
+	FileVar->OpId = OpBPSend;
+
 	char uimsg[MAX_UIMSG];
 	const char *UILanguageFile = ts.UILanguageFile;
+	strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+	get_lang_msg("FILEDLG_TRANS_TITLE_BPSEND", uimsg, sizeof(uimsg), TitBPSend, UILanguageFile);
+	strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
 
 	if (! ProtoStart())
-		return;
+		return FALSE;
 
-	TFileVarProto *fv = FileVar;
-
-	if (mode==IdBPSend)
-	{
-		FileVar->OpId = OpBPSend;
-
-		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
-		get_lang_msg("FILEDLG_TRANS_TITLE_BPSEND", uimsg, sizeof(uimsg), TitBPSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-
-		if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
-		{
-			FileVar->FullName[0] = 0;
-			if (! _GetTransFname(FileVar, FileVar->DlgCaption))
-			{
-				ProtoEnd();
-				return;
-			}
+	if (filename == NULL) {
+		FileVar->FullName[0] = 0;
+		char **filenames = _GetTransFname(fv->HMainWin, FileVar->DlgCaption);
+		if (filenames == NULL) {
+			ProtoEnd();
+			return FALSE;
 		}
-		else
-			_SetFileVar(FileVar);
+		fv->FileNames = filenames;
 	}
 	else {
-		/* IdBPReceive or IdBPAuto */
-		FileVar->OpId = OpBPRcv;
-
-		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
-		get_lang_msg("FILEDLG_TRANS_TITLE_BPRCV", uimsg, sizeof(uimsg), TitBPRcv, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+		FileVar->DirLen = 0;
+		strncpy_s(FileVar->FullName, sizeof(FileVar->FullName), filename, _TRUNCATE);
+		FileVar->NumFname = 1;
+		FileVar->NoMsg = TRUE;
+		fv->FileNames = MakeStrArrayFromStr(filename);
+		fv->NoMsg = TRUE;
 	}
 
 	TalkStatus = IdTalkQuiet;
@@ -1542,29 +1535,14 @@
 	/* disable transmit delay (serial port) */
 	cv.DelayFlag = FALSE;
 
-	if (! OpenProtoDlg(FileVar,PROTO_BP,mode,0,0))
+	if (! OpenProtoDlg(FileVar,PROTO_BP, IdBPSend,0,0)) {
 		ProtoEnd();
-}
-
-BOOL BPSendStart(const char *filename)
-{
-	if (FileVar != NULL) {
-		return FALSE;
 	}
-	if (!NewFileVar_(&FileVar)) {
-		return FALSE;
-	}
 
-	FileVar->DirLen = 0;
-	strncpy_s(FileVar->FullName, sizeof(FileVar->FullName), filename, _TRUNCATE);
-	FileVar->NumFname = 1;
-	FileVar->NoMsg = TRUE;
-	BPStart(IdBPSend);
-
 	return TRUE;
 }
 
-BOOL BPStartReceive(void)
+BOOL BPStartReceive(BOOL macro, BOOL autostart)
 {
 	if (FileVar != NULL)
 		return FALSE;
@@ -1571,9 +1549,33 @@
 	if (!NewFileVar_(&FileVar))
 		return FALSE;
 
-	FileVar->NoMsg = TRUE;
-	BPStart(IdBPReceive);
+	TFileVarProto *fv = FileVar;
+	int mode = autostart ? IdBPAuto : IdBPReceive;
 
+	if (macro) {
+		FileVar->NoMsg = TRUE;
+	}
+
+	if (! ProtoStart())
+		return FALSE;
+
+	/* IdBPReceive or IdBPAuto */
+	FileVar->OpId = OpBPRcv;
+
+	char uimsg[MAX_UIMSG];
+	const char *UILanguageFile = ts.UILanguageFile;
+	strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+	get_lang_msg("FILEDLG_TRANS_TITLE_BPRCV", uimsg, sizeof(uimsg), TitBPRcv, UILanguageFile);
+	strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
+	TalkStatus = IdTalkQuiet;
+
+	/* disable transmit delay (serial port) */
+	cv.DelayFlag = FALSE;
+
+	if (! OpenProtoDlg(FileVar,PROTO_BP,mode,0,0))
+		ProtoEnd();
+
 	return TRUE;
 }
 

Modified: branches/proto_unicode/teraterm/teraterm/ttdde.c
===================================================================
--- branches/proto_unicode/teraterm/teraterm/ttdde.c	2020-11-01 15:36:07 UTC (rev 8999)
+++ branches/proto_unicode/teraterm/teraterm/ttdde.c	2020-11-01 15:36:22 UTC (rev 9000)
@@ -426,7 +426,7 @@
 		SyncRecv = TRUE;
 		break;
 	case CmdBPlusRecv:
-		if (BPStartReceive()) {
+		if (BPStartReceive(TRUE, FALSE)) {
 			DdeCmnd = TRUE;
 		}
 		else
@@ -433,7 +433,7 @@
 			return DDE_FNOTPROCESSED;
 		break;
 	case CmdBPlusSend:
-		if (!BPSendStart(ParamFileName)) {
+		if (!BPStartSend(ParamFileName)) {
 			DdeCmnd = TRUE;
 		}
 		else

Modified: branches/proto_unicode/teraterm/teraterm/vtterm.c
===================================================================
--- branches/proto_unicode/teraterm/teraterm/vtterm.c	2020-11-01 15:36:07 UTC (rev 8999)
+++ branches/proto_unicode/teraterm/teraterm/vtterm.c	2020-11-01 15:36:22 UTC (rev 9000)
@@ -5475,7 +5475,7 @@
 {
 	ParseMode = ModeFirst;
 	if (((ts.FTFlag & FT_BPAUTO)!=0) && (b=='B'))
-		BPStart(IdBPAuto); /* Auto B-Plus activation */
+		BPStartReceive(FALSE, TRUE); /* Auto B-Plus activation */
 	ChangeEmu = -1;
 }
 

Modified: branches/proto_unicode/teraterm/teraterm/vtwin.cpp
===================================================================
--- branches/proto_unicode/teraterm/teraterm/vtwin.cpp	2020-11-01 15:36:07 UTC (rev 8999)
+++ branches/proto_unicode/teraterm/teraterm/vtwin.cpp	2020-11-01 15:36:22 UTC (rev 9000)
@@ -4368,13 +4368,13 @@
 
 void CVTWindow::OnFileBPRcv()
 {
-	BPStart(IdBPReceive);
+	BPStartReceive(TRUE, TRUE);
 }
 
 void CVTWindow::OnFileBPSend()
 {
 	HelpId = HlpFileBPlusSend;
-	BPStart(IdBPSend);
+	BPStartSend(NULL);
 }
 
 void CVTWindow::OnFileQVRcv()

Modified: branches/proto_unicode/teraterm/ttpfile/bplus.c
===================================================================
--- branches/proto_unicode/teraterm/ttpfile/bplus.c	2020-11-01 15:36:07 UTC (rev 8999)
+++ branches/proto_unicode/teraterm/ttpfile/bplus.c	2020-11-01 15:36:22 UTC (rev 9000)
@@ -99,7 +99,7 @@
 #define BPTimeOut 10
 #define BPTimeOutTCPIP 0
 
-BOOL BPOpenFileToBeSent(PFileVarProto fv)
+static BOOL BPOpenFileToBeSent(PFileVarProto fv)
 {
   BOOL r;
 
@@ -115,7 +115,7 @@
   return fv->FileOpen;
 }
 
-void BPDispMode(PFileVarProto fv, PBPVar bv)
+static void BPDispMode(PFileVarProto fv, PBPVar bv)
 {
   strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: B-Plus ", _TRUNCATE);
   switch (bv->BPMode) {
@@ -123,6 +123,7 @@
       strncat_s(fv->DlgCaption,sizeof(fv->DlgCaption),"Send",_TRUNCATE);
       break;
     case IdBPReceive:
+    case IdBPAuto:
       strncat_s(fv->DlgCaption,sizeof(fv->DlgCaption),"Receive",_TRUNCATE);
       break;
   }
@@ -209,7 +210,7 @@
   return TRUE;
 }
 
-int BPRead1Byte(PFileVarProto fv, PBPVar bv, PComVar cv, LPBYTE b)
+static int BPRead1Byte(PFileVarProto fv, PBPVar bv, PComVar cv, LPBYTE b)
 {
   if (CommRead1Byte(cv,b) == 0)
     return 0;
@@ -227,7 +228,7 @@
   return 1;
 }
 
-int BPWrite(PFileVarProto fv, PBPVar bv, PComVar cv, PCHAR B, int C)
+static int BPWrite(PFileVarProto fv, PBPVar bv, PComVar cv, PCHAR B, int C)
 {
   int i, j;
 
@@ -247,7 +248,7 @@
   return i;
 }
 
-void BPTimeOutProc(PFileVarProto fv, PComVar cv)
+static void BPTimeOutProc(PFileVarProto fv, PComVar cv)
 {
   PBPVar bv = fv->data;
   BPWrite(fv,bv,cv,"\005\005",2); /* two ENQ */
@@ -255,7 +256,7 @@
   bv->EnqSent = TRUE;
 }
 
-void BPUpdateCheck(PBPVar bv, BYTE b)
+static void BPUpdateCheck(PBPVar bv, BYTE b)
 {
   WORD w;
 
@@ -279,7 +280,7 @@
   }
 }
 
-void BPSendACK(PFileVarProto fv, PBPVar bv, PComVar cv)
+static void BPSendACK(PFileVarProto fv, PBPVar bv, PComVar cv)
 {
   char Temp[2];
 
@@ -293,7 +294,7 @@
   bv->BPPktState = BP_PktGetDLE;
 }
 
-void BPSendNAK(PFileVarProto fv, PBPVar bv, PComVar cv)
+static void BPSendNAK(PFileVarProto fv, PBPVar bv, PComVar cv)
 {
   if ((bv->BPState != BP_Failure) &&
       (bv->BPState != BP_Close))
@@ -301,7 +302,7 @@
   bv->BPPktState = BP_PktGetDLE;
 }
 
-void BPPut1Byte(PBPVar bv, BYTE b, int *OutPtr)
+static void BPPut1Byte(PBPVar bv, BYTE b, int *OutPtr)
 {
   int Iq;
   BYTE Mq;
@@ -329,7 +330,7 @@
   (*OutPtr)++;
 }
 
-void BPMakePacket(PBPVar bv, BYTE PktType, int DataLen)
+static void BPMakePacket(PBPVar bv, BYTE PktType, int DataLen)
 {
   int i;
   BYTE b;
@@ -386,7 +387,7 @@
   bv->BPPktState = BP_PktSending;
 }
 
-void BPSendFailure(PBPVar bv, BYTE b)
+static void BPSendFailure(PBPVar bv, BYTE b)
 {
   int i;
 
@@ -397,7 +398,7 @@
   bv->BPState = BP_Failure;
 }
 
-void BPSendInit(PBPVar bv)
+static void BPSendInit(PBPVar bv)
 {
   BYTE b;
   int i, Count;
@@ -488,7 +489,7 @@
     bv->Q[i] = Param.Q[i];
 }
 
-void BPSendTCPacket(PBPVar bv)
+static void BPSendTCPacket(PBPVar bv)
 {
   int i;
 
@@ -499,7 +500,7 @@
   bv->BPState = BP_SendClose;
 }
 
-void BPSendNPacket(PFileVarProto fv, PBPVar bv)
+static void BPSendNPacket(PFileVarProto fv, PBPVar bv)
 {
   int i, c;
   BYTE b;
@@ -528,7 +529,7 @@
   SetDlgTime(fv->HWin, IDC_PROTOELAPSEDTIME, fv->StartTime, fv->ByteCount);
 }
 
-void BPCheckPacket(PFileVarProto fv, PBPVar bv, PComVar cv)
+static void BPCheckPacket(PFileVarProto fv, PBPVar bv, PComVar cv)
 {
   if (bv->Check != bv->CheckCalc)
   {
@@ -558,19 +559,19 @@
   bv->GetPacket = TRUE;
 }
 
-  int BPGet1(PBPVar bv, int *i, LPBYTE b)
-  {
-    if (*i < bv->PktInCount)
-    {
-      *b = bv->PktIn[*i];
-      (*i)++;
-      return 1;
-    }
-    return 0;
-  }
+static   int BPGet1(PBPVar bv, int *i, LPBYTE b)
+{
+	if (*i < bv->PktInCount)
+	{
+		*b = bv->PktIn[*i];
+		(*i)++;
+		return 1;
+	}
+	return 0;
+}
 
 
-void BPParseTPacket(PFileVarProto fv, PBPVar bv)
+static void BPParseTPacket(PFileVarProto fv, PBPVar bv)
 {
   int i, j, c;
   BYTE b;
@@ -690,7 +691,7 @@
   }
 }
 
-void BPParsePacket(PFileVarProto fv, PBPVar bv)
+static void BPParsePacket(PFileVarProto fv, PBPVar bv)
 {
   bv->GetPacket = FALSE;
   /* Packet type */
@@ -732,7 +733,7 @@
   }
 }
 
-void BPParseAck(PFileVarProto fv, PBPVar bv, BYTE b)
+static void BPParseAck(PFileVarProto fv, PBPVar bv, BYTE b)
 {
   b = (b - 0x30) % 10;
   if (bv->EnqSent)
@@ -791,15 +792,15 @@
   SetDlgNum(fv->HWin, IDC_PROTOPKTNUM, bv->PktNum + bv->PktNumOffset);
 }
 
-  void BPDequote(LPBYTE b)
-  {
-    if ((*b>=0x40) && (*b<=0x5f))
-      *b = *b - 0x40;
-    else if ((*b>=0x60) && (*b<=0x7f))
-      *b = *b + 0x20;
-  }
+static void BPDequote(LPBYTE b)
+{
+	if ((*b>=0x40) && (*b<=0x5f))
+		*b = *b - 0x40;
+	else if ((*b>=0x60) && (*b<=0x7f))
+		*b = *b + 0x20;
+}
 
-BOOL BPParse(PFileVarProto fv, PComVar cv)
+static BOOL BPParse(PFileVarProto fv, PComVar cv)
 {
   int c;
   BYTE b;
@@ -951,7 +952,7 @@
   return TRUE;
 }
 
-void BPCancel(PFileVarProto fv, PComVar cv)
+static void BPCancel(PFileVarProto fv, PComVar cv)
 {
 	PBPVar bv = fv->data;
 	(void)cv;


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