Revision: 9085 https://osdn.net/projects/ttssh2/scm/svn/commits/9085 Author: zmatsuo Date: 2020-12-20 21:12:31 +0900 (Sun, 20 Dec 2020) Log Message: ----------- BPlus の BPStart(), QuickVAN の QVStart() API を使用しないようにした - BPSendStart(), BPStartReceive() に統一 - bplusダイアログ修正 Modified Paths: -------------- trunk/teraterm/teraterm/filesys.h trunk/teraterm/teraterm/filesys_proto.cpp trunk/teraterm/teraterm/ttdde.c trunk/teraterm/teraterm/vtterm.c trunk/teraterm/teraterm/vtwin.cpp trunk/teraterm/ttpfile/bplus.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/filesys.h =================================================================== --- trunk/teraterm/teraterm/filesys.h 2020-12-20 12:12:21 UTC (rev 9084) +++ trunk/teraterm/teraterm/filesys.h 2020-12-20 12:12:31 UTC (rev 9085) @@ -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: trunk/teraterm/teraterm/filesys_proto.cpp =================================================================== --- trunk/teraterm/teraterm/filesys_proto.cpp 2020-12-20 12:12:21 UTC (rev 9084) +++ trunk/teraterm/teraterm/filesys_proto.cpp 2020-12-20 12:12:31 UTC (rev 9085) @@ -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: trunk/teraterm/teraterm/ttdde.c =================================================================== --- trunk/teraterm/teraterm/ttdde.c 2020-12-20 12:12:21 UTC (rev 9084) +++ trunk/teraterm/teraterm/ttdde.c 2020-12-20 12:12:31 UTC (rev 9085) @@ -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: trunk/teraterm/teraterm/vtterm.c =================================================================== --- trunk/teraterm/teraterm/vtterm.c 2020-12-20 12:12:21 UTC (rev 9084) +++ trunk/teraterm/teraterm/vtterm.c 2020-12-20 12:12:31 UTC (rev 9085) @@ -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: trunk/teraterm/teraterm/vtwin.cpp =================================================================== --- trunk/teraterm/teraterm/vtwin.cpp 2020-12-20 12:12:21 UTC (rev 9084) +++ trunk/teraterm/teraterm/vtwin.cpp 2020-12-20 12:12:31 UTC (rev 9085) @@ -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: trunk/teraterm/ttpfile/bplus.c =================================================================== --- trunk/teraterm/ttpfile/bplus.c 2020-12-20 12:12:21 UTC (rev 9084) +++ trunk/teraterm/ttpfile/bplus.c 2020-12-20 12:12:31 UTC (rev 9085) @@ -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;