extern int CancelFlg;\r
// ディレクトリ自動作成\r
extern int MakeAllDir;\r
+// ファイル一覧バグ修正\r
+extern int AbortOnListError;\r
+// ミラーリング設定追加\r
+extern int MirrorNoTransferContents; \r
+// タイムスタンプのバグ修正\r
+extern int DispTimeSeconds;\r
\r
/*===== ローカルなワーク =====*/\r
\r
TRANSPACKET Pkt;\r
// ディレクトリ自動作成\r
char Tmp[FMAX_PATH+1];\r
+ // ファイル一覧バグ修正\r
+ int ListSts;\r
\r
// 同時接続対応\r
CancelFlg = NO;\r
// KeepTransferDialog(YES);\r
\r
FileListBase = NULL;\r
- MakeSelectedFileList(WIN_REMOTE, (ForceFile == YES ? NO : YES), All, &FileListBase, &CancelFlg);\r
+ // ファイル一覧バグ修正\r
+// MakeSelectedFileList(WIN_REMOTE, (ForceFile == YES ? NO : YES), All, &FileListBase, &CancelFlg);\r
+ ListSts = MakeSelectedFileList(WIN_REMOTE, (ForceFile == YES ? NO : YES), All, &FileListBase, &CancelFlg);\r
\r
if(AskNoFullPathMode() == YES)\r
{\r
Pos = FileListBase;\r
while(Pos != NULL)\r
{\r
+ // ファイル一覧バグ修正\r
+ if((AbortOnListError == YES) && (ListSts == FFFTP_FAIL))\r
+ break;\r
AskLocalCurDir(Pkt.LocalFile, FMAX_PATH);\r
SetYenTail(Pkt.LocalFile);\r
strcpy(TmpString, Pos->File);\r
// ディレクトリ自動作成\r
strcpy(Tmp, Pkt.LocalFile);\r
Pkt.Mode = CheckLocalFile(&Pkt); /* Pkt.ExistSize がセットされる */\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = NO;\r
if(Pkt.Mode == EXIST_ABORT)\r
break;\r
else if(Pkt.Mode != EXIST_IGNORE)\r
// ディレクトリ自動作成\r
strcpy(Tmp, Pkt.LocalFile);\r
Pkt.Mode = CheckLocalFile(&Pkt); /* Pkt.ExistSize がセットされる */\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = NO;\r
if((Pkt.Mode != EXIST_ABORT) && (Pkt.Mode != EXIST_IGNORE))\r
// ディレクトリ自動作成\r
// AddTransFileList(&Pkt);\r
char *Cat;\r
int Level;\r
int Mode;\r
+ // ファイル一覧バグ修正\r
+ int ListSts;\r
\r
// 同時接続対応\r
CancelFlg = NO;\r
/*===== ファイルリスト取得 =====*/\r
\r
LocalListBase = NULL;\r
- MakeSelectedFileList(WIN_LOCAL, YES, YES, &LocalListBase, &CancelFlg);\r
+ // ファイル一覧バグ修正\r
+// MakeSelectedFileList(WIN_LOCAL, YES, YES, &LocalListBase, &CancelFlg);\r
+ ListSts = MakeSelectedFileList(WIN_LOCAL, YES, YES, &LocalListBase, &CancelFlg);\r
RemoteListBase = NULL;\r
- MakeSelectedFileList(WIN_REMOTE, YES, YES, &RemoteListBase, &CancelFlg);\r
+ // ファイル一覧バグ修正\r
+// MakeSelectedFileList(WIN_REMOTE, YES, YES, &RemoteListBase, &CancelFlg);\r
+ if(ListSts == FFFTP_SUCCESS)\r
+ ListSts = MakeSelectedFileList(WIN_REMOTE, YES, YES, &RemoteListBase, &CancelFlg);\r
\r
RemotePos = RemoteListBase;\r
while(RemotePos != NULL)\r
Pkt.KanjiCodeDesired = AskLocalKanjiCode();\r
Pkt.KanaCnv = AskHostKanaCnv();\r
Pkt.Mode = EXIST_OVW;\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = MirrorNoTransferContents;\r
AddTmpTransFileList(&Pkt, &Base);\r
}\r
}\r
RemotePos = RemotePos->Next;\r
}\r
\r
- if((Notify == YES) ||\r
- (DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(mirrordown_notify_dlg), GetMainHwnd(), MirrorDispListCallBack, (LPARAM)&Base) == YES))\r
+ // ファイル一覧バグ修正\r
+// if((Notify == YES) ||\r
+// (DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(mirrordown_notify_dlg), GetMainHwnd(), MirrorDispListCallBack, (LPARAM)&Base) == YES))\r
+ if(((AbortOnListError == NO) || (ListSts == FFFTP_SUCCESS)) && ((Notify == YES) ||\r
+ (DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(mirrordown_notify_dlg), GetMainHwnd(), MirrorDispListCallBack, (LPARAM)&Base) == YES)))\r
{\r
if(AskNoFullPathMode() == YES)\r
{\r
while(Local != NULL)\r
{\r
FileTimeToLocalFileTime(&Local->Time, &fTime);\r
- FileTimeToSystemTime(&fTime, &sTime);\r
- sprintf(Date, "%04d/%02d/%02d %02d:%02d:%02d.%04d", \r
- sTime.wYear, sTime.wMonth, sTime.wDay, sTime.wHour, sTime.wMinute, sTime.wSecond, sTime.wMilliseconds);\r
+ // タイムスタンプのバグ修正\r
+// FileTimeToSystemTime(&fTime, &sTime);\r
+// sprintf(Date, "%04d/%02d/%02d %02d:%02d:%02d.%04d", \r
+// sTime.wYear, sTime.wMonth, sTime.wDay, sTime.wHour, sTime.wMinute, sTime.wSecond, sTime.wMilliseconds);\r
+ if(FileTimeToSystemTime(&fTime, &sTime))\r
+ sprintf(Date, "%04d/%02d/%02d %02d:%02d:%02d.%04d", sTime.wYear, sTime.wMonth, sTime.wDay, sTime.wHour, sTime.wMinute, sTime.wSecond, sTime.wMilliseconds);\r
+ else\r
+ strcpy(Date, "");\r
DoPrintf("LOCAL : %s %s [%s] %s", Local->Attr==1?"YES":"NO ", Local->Node==NODE_DIR?"DIR ":"FILE", Date, Local->File);\r
Local = Local->Next;\r
}\r
while(Remote != NULL)\r
{\r
FileTimeToLocalFileTime(&Remote->Time, &fTime);\r
- FileTimeToSystemTime(&fTime, &sTime);\r
- sprintf(Date, "%04d/%02d/%02d %02d:%02d:%02d.%04d", \r
- sTime.wYear, sTime.wMonth, sTime.wDay, sTime.wHour, sTime.wMinute, sTime.wSecond, sTime.wMilliseconds);\r
+ // タイムスタンプのバグ修正\r
+// FileTimeToSystemTime(&fTime, &sTime);\r
+// sprintf(Date, "%04d/%02d/%02d %02d:%02d:%02d.%04d", \r
+// sTime.wYear, sTime.wMonth, sTime.wDay, sTime.wHour, sTime.wMinute, sTime.wSecond, sTime.wMilliseconds);\r
+ if(FileTimeToSystemTime(&fTime, &sTime))\r
+ sprintf(Date, "%04d/%02d/%02d %02d:%02d:%02d.%04d", sTime.wYear, sTime.wMonth, sTime.wDay, sTime.wHour, sTime.wMinute, sTime.wSecond, sTime.wMilliseconds);\r
+ else\r
+ strcpy(Date, "");\r
DoPrintf("REMOTE : %s %s [%s] %s", Remote->Attr==1?"YES":"NO ", Remote->Node==NODE_DIR?"DIR ":"FILE", Date, Remote->File);\r
Remote = Remote->Next;\r
}\r
HANDLE fHnd;\r
WIN32_FIND_DATA Find;\r
int Ret;\r
+ // タイムスタンプのバグ修正\r
+ SYSTEMTIME TmpStime;\r
\r
Ret = EXIST_OVW;\r
Pkt->ExistSize = 0;\r
if(Ret == EXIST_NEW)\r
{\r
/*ファイル日付チェック */\r
+ // タイムスタンプのバグ修正\r
+ if(FileTimeToSystemTime(&Find.ftLastWriteTime, &TmpStime))\r
+ {\r
+ if(DispTimeSeconds == NO)\r
+ TmpStime.wSecond = 0;\r
+ TmpStime.wMilliseconds = 0;\r
+ SystemTimeToFileTime(&TmpStime, &Find.ftLastWriteTime);\r
+ }\r
+ else\r
+ memset(&Find.ftLastWriteTime, 0, sizeof(FILETIME));\r
if(CompareFileTime(&Find.ftLastWriteTime, &Pkt->Time) < 0)\r
Ret = EXIST_OVW;\r
else\r
hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000009);\r
break;\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
FILELIST *RemoteList;\r
char Tmp[FMAX_PATH+1];\r
int FirstAdd;\r
+ // ファイル一覧バグ修正\r
+ int ListSts;\r
\r
// 同時接続対応\r
CancelFlg = NO;\r
\r
// ローカル側で選ばれているファイルをFileListBaseに登録\r
FileListBase = NULL;\r
- MakeSelectedFileList(WIN_LOCAL, YES, All, &FileListBase, &CancelFlg);\r
+ // ファイル一覧バグ修正\r
+// MakeSelectedFileList(WIN_LOCAL, YES, All, &FileListBase, &CancelFlg);\r
+ ListSts = MakeSelectedFileList(WIN_LOCAL, YES, All, &FileListBase, &CancelFlg);\r
\r
// 現在ホスト側のファイル一覧に表示されているものをRemoteListに登録\r
// 同名ファイルチェック用\r
Pos = FileListBase;\r
while(Pos != NULL)\r
{\r
+ // ファイル一覧バグ修正\r
+ if((AbortOnListError == YES) && (ListSts == FFFTP_FAIL))\r
+ break;\r
AskRemoteCurDir(Pkt.RemoteFile, FMAX_PATH);\r
SetSlashTail(Pkt.RemoteFile);\r
Cat = strchr(Pkt.RemoteFile, NUL);\r
// ディレクトリ自動作成\r
strcpy(Tmp, Pkt.RemoteFile);\r
Pkt.Mode = CheckRemoteFile(&Pkt, RemoteList);\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = NO;\r
if(Pkt.Mode == EXIST_ABORT)\r
break;\r
else if(Pkt.Mode != EXIST_IGNORE)\r
// ディレクトリ自動作成\r
strcpy(Tmp, Pkt.RemoteFile);\r
Pkt.Mode = CheckRemoteFile(&Pkt, RemoteList);\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = NO;\r
if(Pkt.Mode == EXIST_ABORT)\r
break;\r
else if(Pkt.Mode != EXIST_IGNORE)\r
SYSTEMTIME TmpStime;\r
FILETIME TmpFtimeL;\r
FILETIME TmpFtimeR;\r
+ // ファイル一覧バグ修正\r
+ int ListSts;\r
\r
// 同時接続対応\r
CancelFlg = NO;\r
/*===== ファイルリスト取得 =====*/\r
\r
LocalListBase = NULL;\r
- MakeSelectedFileList(WIN_LOCAL, YES, YES, &LocalListBase, &CancelFlg);\r
+ // ファイル一覧バグ修正\r
+// MakeSelectedFileList(WIN_LOCAL, YES, YES, &LocalListBase, &CancelFlg);\r
+ ListSts = MakeSelectedFileList(WIN_LOCAL, YES, YES, &LocalListBase, &CancelFlg);\r
RemoteListBase = NULL;\r
- MakeSelectedFileList(WIN_REMOTE, YES, YES, &RemoteListBase, &CancelFlg);\r
+ // ファイル一覧バグ修正\r
+// MakeSelectedFileList(WIN_REMOTE, YES, YES, &RemoteListBase, &CancelFlg);\r
+ if(ListSts == FFFTP_SUCCESS)\r
+ ListSts = MakeSelectedFileList(WIN_REMOTE, YES, YES, &RemoteListBase, &CancelFlg);\r
\r
LocalPos = LocalListBase;\r
while(LocalPos != NULL)\r
FileTimeToLocalFileTime(&RemotePos->Time, &TmpFtimeR);\r
if((RemotePos->InfoExist & FINFO_TIME) == 0)\r
{\r
- FileTimeToSystemTime(&TmpFtimeL, &TmpStime);\r
- TmpStime.wHour = 0;\r
- TmpStime.wMinute = 0;\r
- TmpStime.wSecond = 0;\r
- TmpStime.wMilliseconds = 0;\r
- SystemTimeToFileTime(&TmpStime, &TmpFtimeL);\r
-\r
- FileTimeToSystemTime(&TmpFtimeR, &TmpStime);\r
- TmpStime.wHour = 0;\r
- TmpStime.wMinute = 0;\r
- TmpStime.wSecond = 0;\r
- TmpStime.wMilliseconds = 0;\r
- SystemTimeToFileTime(&TmpStime, &TmpFtimeR);\r
+ // タイムスタンプのバグ修正\r
+// FileTimeToSystemTime(&TmpFtimeL, &TmpStime);\r
+// TmpStime.wHour = 0;\r
+// TmpStime.wMinute = 0;\r
+// TmpStime.wSecond = 0;\r
+// TmpStime.wMilliseconds = 0;\r
+// SystemTimeToFileTime(&TmpStime, &TmpFtimeL);\r
+ if(FileTimeToSystemTime(&TmpFtimeL, &TmpStime))\r
+ {\r
+ TmpStime.wHour = 0;\r
+ TmpStime.wMinute = 0;\r
+ TmpStime.wSecond = 0;\r
+ TmpStime.wMilliseconds = 0;\r
+ SystemTimeToFileTime(&TmpStime, &TmpFtimeL);\r
+ }\r
+\r
+ // タイムスタンプのバグ修正\r
+// FileTimeToSystemTime(&TmpFtimeR, &TmpStime);\r
+// TmpStime.wHour = 0;\r
+// TmpStime.wMinute = 0;\r
+// TmpStime.wSecond = 0;\r
+// TmpStime.wMilliseconds = 0;\r
+// SystemTimeToFileTime(&TmpStime, &TmpFtimeR);\r
+ if(FileTimeToSystemTime(&TmpFtimeR, &TmpStime))\r
+ {\r
+ TmpStime.wHour = 0;\r
+ TmpStime.wMinute = 0;\r
+ TmpStime.wSecond = 0;\r
+ TmpStime.wMilliseconds = 0;\r
+ SystemTimeToFileTime(&TmpStime, &TmpFtimeR);\r
+ }\r
}\r
RemotePos->Attr = NO;\r
if(CompareFileTime(&TmpFtimeL, &TmpFtimeR) <= 0)\r
}\r
#endif\r
Pkt.Mode = EXIST_OVW;\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = MirrorNoTransferContents;\r
AddTmpTransFileList(&Pkt, &Base);\r
}\r
}\r
LocalPos = LocalPos->Next;\r
}\r
\r
- if((Notify == YES) ||\r
- (DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(mirror_notify_dlg), GetMainHwnd(), MirrorDispListCallBack, (LPARAM)&Base) == YES))\r
+ // ファイル一覧バグ修正\r
+// if((Notify == YES) ||\r
+// (DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(mirror_notify_dlg), GetMainHwnd(), MirrorDispListCallBack, (LPARAM)&Base) == YES))\r
+ if(((AbortOnListError == NO) || (ListSts == FFFTP_SUCCESS)) && ((Notify == YES) ||\r
+ (DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(mirror_notify_dlg), GetMainHwnd(), MirrorDispListCallBack, (LPARAM)&Base) == YES)))\r
{\r
if(AskNoFullPathMode() == YES)\r
{\r
else\r
hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000012);\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
{\r
static DIALOGSIZE DlgSize = {\r
{ MIRROR_DEL, MIRROR_SIZEGRIP, -1 },\r
- { IDOK, IDCANCEL, IDHELP, MIRROR_DEL, MIRROR_COPYNUM, MIRROR_MAKENUM, MIRROR_DELNUM, MIRROR_SIZEGRIP, -1 },\r
+ // ミラーリング設定追加\r
+// { IDOK, IDCANCEL, IDHELP, MIRROR_DEL, MIRROR_COPYNUM, MIRROR_MAKENUM, MIRROR_DELNUM, MIRROR_SIZEGRIP, -1 },\r
+ { IDOK, IDCANCEL, IDHELP, MIRROR_DEL, MIRROR_COPYNUM, MIRROR_MAKENUM, MIRROR_DELNUM, MIRROR_SIZEGRIP, MIRROR_NO_TRANSFER, -1 },\r
{ MIRROR_LIST, -1 },\r
{ 0, 0 },\r
{ 0, 0 }\r
char Tmp[FMAX_PATH+1+6];\r
int Num;\r
int *List;\r
+ // バグ修正\r
+ RECT Rect;\r
\r
switch (iMessage)\r
{\r
+ // バグ修正\r
+ case WM_SIZE :\r
+ GetWindowRect(hDlg, &Rect);\r
+ DlgSizeChange(hDlg, &DlgSize, &Rect, 0);\r
+ RedrawWindow(hDlg, NULL, NULL, RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN);\r
+ break;\r
+\r
case WM_INITDIALOG :\r
Base = (TRANSPACKET **)lParam;\r
Pos = *Base;\r
CountMirrorFiles(hDlg, *Base);\r
DlgSizeInit(hDlg, &DlgSize, &MirrorDlgSize);\r
EnableWindow(GetDlgItem(hDlg, MIRROR_DEL), FALSE);\r
+ // ミラーリング設定追加\r
+ SendDlgItemMessage(hDlg, MIRROR_NO_TRANSFER, BM_SETCHECK, MirrorNoTransferContents, 0);\r
return(TRUE);\r
\r
case WM_COMMAND :\r
}\r
break;\r
\r
+ // ミラーリング設定追加\r
+ case MIRROR_NO_TRANSFER :\r
+ Pos = *Base;\r
+ while(Pos != NULL)\r
+ {\r
+ if(strncmp(Pos->Cmd, "STOR", 4) == 0 || strncmp(Pos->Cmd, "RETR", 4) == 0)\r
+ Pos->NoTransfer = SendDlgItemMessage(hDlg, MIRROR_NO_TRANSFER, BM_GETCHECK, 0, 0);\r
+ Pos = Pos->Next;\r
+ }\r
+ break;\r
+\r
case IDHELP :\r
hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000012);\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
\r
case WM_SIZING :\r
DlgSizeChange(hDlg, &DlgSize, (RECT *)lParam, (int)wParam);\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000011);\r
break;\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
EndDialog(hDlg, NO_ALL);\r
break;\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
EndDialog(hDlg, NO_ALL);\r
break;\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
CancelFlg = NO;\r
\r
// デッドロック対策\r
- DisableUserOpe();\r
- Sts = YES;\r
- AskRemoteCurDir(CurDir, FMAX_PATH);\r
- FileListBase = NULL;\r
+// Sts = YES;\r
+// AskRemoteCurDir(CurDir, FMAX_PATH);\r
+// FileListBase = NULL;\r
+// if(GetFocus() == GetLocalHwnd())\r
+// {\r
+// Win = WIN_LOCAL;\r
+// MakeSelectedFileList(Win, NO, NO, &FileListBase, &CancelFlg);\r
+// }\r
+// else\r
+// {\r
+// Win = WIN_REMOTE;\r
+// if(CheckClosedAndReconnect() == FFFTP_SUCCESS)\r
+// MakeSelectedFileList(Win, YES, NO, &FileListBase, &CancelFlg);\r
+// else\r
+// Sts = NO;\r
+// }\r
+ Sts = FFFTP_SUCCESS;\r
if(GetFocus() == GetLocalHwnd())\r
- {\r
Win = WIN_LOCAL;\r
- MakeSelectedFileList(Win, NO, NO, &FileListBase, &CancelFlg);\r
- }\r
else\r
{\r
Win = WIN_REMOTE;\r
- if(CheckClosedAndReconnect() == FFFTP_SUCCESS)\r
- MakeSelectedFileList(Win, YES, NO, &FileListBase, &CancelFlg);\r
- else\r
- Sts = NO;\r
+ Sts = CheckClosedAndReconnect();\r
}\r
\r
- if(Sts == YES)\r
+ // デッドロック対策\r
+// if(Sts == YES)\r
+ if(Sts == FFFTP_SUCCESS)\r
{\r
// デッドロック対策\r
-// DisableUserOpe();\r
+ DisableUserOpe();\r
+ AskRemoteCurDir(CurDir, FMAX_PATH);\r
+ FileListBase = NULL;\r
+ if(Win == WIN_LOCAL)\r
+ MakeSelectedFileList(Win, NO, NO, &FileListBase, &CancelFlg);\r
+ else\r
+ MakeSelectedFileList(Win, YES, NO, &FileListBase, &CancelFlg);\r
\r
DelFlg = NO;\r
Sts = NO;\r
}\r
\r
// デッドロック対策\r
-// EnableUserOpe();\r
+ EnableUserOpe();\r
}\r
- // デッドロック対策\r
- EnableUserOpe();\r
return;\r
}\r
\r
EndDialog(hDlg, NO_ALL);\r
break;\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
AskRemoteCurDir(HostDir, FMAX_PATH);\r
\r
// ドロップ先のフォルダ名を得る\r
- GetNodeName(WIN_REMOTE, drop_index, Pkt.File, FMAX_PATH);\r
+ // 上位のディレクトリへ移動対応\r
+// GetNodeName(WIN_REMOTE, drop_index, Pkt.File, FMAX_PATH);\r
+ if(drop_index >= 0)\r
+ GetNodeName(WIN_REMOTE, drop_index, Pkt.File, FMAX_PATH);\r
+ else\r
+ strcpy(Pkt.File, "..");\r
\r
if(MoveMode == MOVE_DLG)\r
{\r
EndDialog(hDlg, NO_ALL);\r
break;\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000017);\r
break;\r
}\r
- return(TRUE);\r
+ return(TRUE);\r
}\r
return(FALSE);\r
}\r
}\r
return(TRUE);\r
}\r
- return(FALSE);\r
+ return(FALSE);\r
}\r
\r
\r
}\r
return(TRUE);\r
}\r
- return(FALSE);\r
+ return(FALSE);\r
}\r
\r
\r
// NOOPコマンドでは効果が無いホストが多いためLISTコマンドを使用\r
void NoopProc(int Force)\r
{\r
- int CancelCheckWork;\r
- CancelCheckWork = NO;\r
if(Force == YES || (AskConnecting() == YES && AskUserOpeDisabled() == NO))\r
{\r
- if(AskReuseCmdSkt() == NO || AskShareProh() == YES || AskTransferNow() == NO)\r
+ if(AskReuseCmdSkt() == NO || (AskShareProh() == YES && AskTransferNow() == NO))\r
{\r
+ if(Force == NO)\r
+ CancelFlg = NO;\r
DisableUserOpe();\r
- DoDirListCmdSkt("", "", 999, &CancelCheckWork);\r
+ DoDirListCmdSkt("", "", 999, &CancelFlg);\r
EnableUserOpe();\r
}\r
}\r
}\r
\r
+// 同時接続対応\r
+void AbortRecoveryProc(void)\r
+{\r
+ if(AskConnecting() == YES && AskUserOpeDisabled() == NO)\r
+ {\r
+ if(AskReuseCmdSkt() == NO || AskShareProh() == YES || AskTransferNow() == NO)\r
+ {\r
+ CancelFlg = NO;\r
+ if(AskErrorReconnect() == YES)\r
+ {\r
+ DisableUserOpe();\r
+ ReConnectCmdSkt();\r
+ GetRemoteDirForWnd(CACHE_REFRESH, &CancelFlg);\r
+ EnableUserOpe();\r
+ }\r
+ else\r
+ RemoveReceivedData(AskCmdCtrlSkt());\r
+ }\r
+ }\r
+ return;\r
+}\r
+\r
+void ReconnectProc(void)\r
+{\r
+ if(AskConnecting() == YES && AskUserOpeDisabled() == NO)\r
+ {\r
+ CancelFlg = NO;\r
+ DisableUserOpe();\r
+ ReConnectCmdSkt();\r
+ GetRemoteDirForWnd(CACHE_REFRESH, &CancelFlg);\r
+ EnableUserOpe();\r
+ }\r
+ return;\r
+}\r
+\r