• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

FFFTPのソースコードです。


Commit MetaInfo

Revision0d9559ea57ae201a5b1fe0161f88545141674c09 (tree)
Zeit2012-03-09 20:31:28
Autors_kawamoto <s_kawamoto@user...>
Commiters_kawamoto

Log Message

Add support for retaining time stamps on uploading files.

Ändern Zusammenfassung

Diff

Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
--- a/Resource/FFFTP.rc
+++ b/Resource/FFFTP.rc
@@ -773,7 +773,7 @@ BEGIN
773773 PUSHBUTTON "’ljÁ(&I)...",TRMODE_ADD,167,19,31,14
774774 PUSHBUTTON "íœ",TRMODE_DEL,167,38,31,14
775775 CONTROL "ƒAƒXƒL[ƒ‚[ƒh‚ŃAƒbƒvƒ[ƒhŽžAEOF(Ctrl-Z)‚ðŽæ‚菜‚­(&Z)",TRMODE_EOF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,94,196,10
776- CONTROL "ƒ_ƒEƒ“ƒ[ƒh‚·‚éƒtƒ@ƒCƒ‹‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðˆÛŽ(&T)",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10
776+ CONTROL "ƒAƒbƒvƒ[ƒh/ƒ_ƒEƒ“ƒ[ƒh‚·‚éƒtƒ@ƒCƒ‹‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðˆÛŽ(&T)",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10
777777 CONTROL "ƒtƒ@ƒCƒ‹–¼‚̃Zƒ~ƒRƒƒ“ˆÈ~‚ÍŽæ‚菜‚¢‚ă_ƒEƒ“ƒ[ƒh(&S)",TRMODE_SEMICOLON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,122,196,10
778778 CONTROL "ƒtƒ@ƒCƒ‹–¼‚ð•Ï‚¦‚Ä“]‘—‚µ‚½ê‡‚ɃfƒBƒŒƒNƒgƒŠ‚ðì¬(&D)",TRMODE_MAKEDIR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,136,196,10
779779 END
--- a/Resource_eng/FFFTP-eng.rc
+++ b/Resource_eng/FFFTP-eng.rc
@@ -780,7 +780,7 @@ BEGIN
780780 PUSHBUTTON "A&dd...",TRMODE_ADD,167,19,31,14
781781 PUSHBUTTON "Delete",TRMODE_DEL,167,38,31,14
782782 CONTROL "&Remove EOF for ASCII mode upload",TRMODE_EOF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,94,196,10
783- CONTROL "Retain file date/&time on download",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10
783+ CONTROL "Retain file date/&time on upload and download",TRMODE_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,108,196,10
784784 CONTROL "Truncate filename before &semicolon on download",TRMODE_SEMICOLON,
785785 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,122,196,10
786786 CONTROL "Create &directory at file transfer with renaming",TRMODE_MAKEDIR,
--- a/common.h
+++ b/common.h
@@ -1607,6 +1607,8 @@ int DoSIZE(SOCKET cSkt, char *Path, LONGLONG *Size, int *CancelCheckWork);
16071607 // 同時接続対応
16081608 //int DoMDTM(char *Path, FILETIME *Time);
16091609 int DoMDTM(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);
1610+// ホスト側の日時設定
1611+int DoMFMT(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);
16101612 // 同時接続対応
16111613 //int DoQUOTE(char *CmdStr);
16121614 int DoQUOTE(SOCKET cSkt, char *CmdStr, int *CancelCheckWork);
--- a/getput.c
+++ b/getput.c
@@ -912,6 +912,14 @@ static ULONG WINAPI TransferThread(void *Dummy)
912912 // DoUpload(AskTrnCtrlSkt(), TransPacketBase);
913913 DoUpload(TrnSkt, Pos);
914914 // }
915+
916+ // ホスト側の日時設定
917+ /* ファイルのタイムスタンプを合わせる */
918+ if((SaveTimeStamp == YES) &&
919+ ((Pos->Time.dwLowDateTime != 0) || (Pos->Time.dwHighDateTime != 0)))
920+ {
921+ DoMFMT(TrnSkt, Pos->RemoteFile, &Pos->Time, &Canceled[Pos->ThreadCount]);
922+ }
915923 }
916924 // 一部TYPE、STOR(RETR)、PORT(PASV)を並列に処理できないホストがあるため
917925 ReleaseMutex(hListAccMutex);
--- a/remote.c
+++ b/remote.c
@@ -460,6 +460,20 @@ int DoMDTM(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork)
460460 }
461461
462462
463+// ホスト側の日時設定
464+int DoMFMT(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork)
465+{
466+ int Sts;
467+ char Tmp[1024];
468+ SYSTEMTIME sTime;
469+
470+ FileTimeToSystemTime(Time, &sTime);
471+
472+ 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);
473+ return(Sts/100);
474+}
475+
476+
463477 /*----- リモート側のコマンドを実行 --------------------------------------------
464478 *
465479 * Parameter