PUSHBUTTON "\92Ç\89Á(&I)...",TRMODE_ADD,167,19,31,14\r
PUSHBUTTON "\8dí\8f\9c",TRMODE_DEL,167,38,31,14\r
CONTROL "\83A\83X\83L\81[\83\82\81[\83h\82Å\83A\83b\83v\83\8d\81[\83h\8e\9e\81AEOF(Ctrl-Z)\82ð\8eæ\82è\8f\9c\82(&Z)",TRMODE_EOF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,94,196,10\r
- CONTROL "\83_\83E\83\93\83\8d\81[\83h\82·\82é\83t\83@\83C\83\8b\82Ì\83^\83C\83\80\83X\83^\83\93\83v\82ð\88Û\8e\9d(&T)",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10\r
+ CONTROL "\83A\83b\83v\83\8d\81[\83h/\83_\83E\83\93\83\8d\81[\83h\82·\82é\83t\83@\83C\83\8b\82Ì\83^\83C\83\80\83X\83^\83\93\83v\82ð\88Û\8e\9d(&T)",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10\r
CONTROL "\83t\83@\83C\83\8b\96¼\82Ì\83Z\83~\83R\83\8d\83\93\88È\8d~\82Í\8eæ\82è\8f\9c\82¢\82Ä\83_\83E\83\93\83\8d\81[\83h(&S)",TRMODE_SEMICOLON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,122,196,10\r
CONTROL "\83t\83@\83C\83\8b\96¼\82ð\95Ï\82¦\82Ä\93]\91\97\82µ\82½\8fê\8d\87\82É\83f\83B\83\8c\83N\83g\83\8a\82ð\8dì\90¬(&D)",TRMODE_MAKEDIR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,136,196,10\r
END\r
PUSHBUTTON "A&dd...",TRMODE_ADD,167,19,31,14\r
PUSHBUTTON "Delete",TRMODE_DEL,167,38,31,14\r
CONTROL "&Remove EOF for ASCII mode upload",TRMODE_EOF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,94,196,10\r
- CONTROL "Retain file date/&time on download",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10\r
+ CONTROL "Retain file date/&time on upload and download",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10\r
CONTROL "Truncate filename before &semicolon on download",TRMODE_SEMICOLON,\r
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,122,196,10\r
CONTROL "Create &directory at file transfer with renaming",TRMODE_MAKEDIR,\r
// 同時接続対応\r
//int DoMDTM(char *Path, FILETIME *Time);\r
int DoMDTM(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);\r
+// ホスト側の日時設定\r
+int DoMFMT(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);\r
// 同時接続対応\r
//int DoQUOTE(char *CmdStr);\r
int DoQUOTE(SOCKET cSkt, char *CmdStr, int *CancelCheckWork);\r
// DoUpload(AskTrnCtrlSkt(), TransPacketBase);\r
DoUpload(TrnSkt, Pos);\r
// }\r
+\r
+ // ホスト側の日時設定\r
+ /* ファイルのタイムスタンプを合わせる */\r
+ if((SaveTimeStamp == YES) &&\r
+ ((Pos->Time.dwLowDateTime != 0) || (Pos->Time.dwHighDateTime != 0)))\r
+ {\r
+ DoMFMT(TrnSkt, Pos->RemoteFile, &Pos->Time, &Canceled[Pos->ThreadCount]);\r
+ }\r
}\r
// 一部TYPE、STOR(RETR)、PORT(PASV)を並列に処理できないホストがあるため\r
ReleaseMutex(hListAccMutex);\r
}\r
\r
\r
+// ホスト側の日時設定\r
+int DoMFMT(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork)\r
+{\r
+ int Sts;\r
+ char Tmp[1024];\r
+ SYSTEMTIME sTime;\r
+\r
+ FileTimeToSystemTime(Time, &sTime);\r
+\r
+ Sts = CommandProcTrn(cSkt, Tmp, CancelCheckWork, "MFMT %04d%02d%02d%02d%02d%02d %s", sTime.wYear, sTime.wMonth, sTime.wDay, sTime.wHour, sTime.wMinute, sTime.wSecond, Path);\r
+ return(Sts/100);\r
+}\r
+\r
+\r
/*----- リモート側のコマンドを実行 --------------------------------------------\r
*\r
* Parameter\r