OSDN Git Service

Fix bugs of handling of time stamps.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Thu, 8 Nov 2012 14:08:20 +0000 (23:08 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Thu, 8 Nov 2012 14:08:20 +0000 (23:08 +0900)
FFFTP_Eng_Release/FFFTP.exe
Release/FFFTP.exe
filelist.c
misc.c

index 2709597..0fb64b4 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index c78c6db..bba9122 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index 4fbc59d..0ed5882 100755 (executable)
@@ -2838,6 +2838,7 @@ void MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *Ca
 \r
                                        if(Ignore == NO)\r
                                        {\r
+//                                             Pkt.Node = NODE_DIR;\r
                                                if(GetImageIndex(Win, Pos) == 4) // symlink\r
                                                        Pkt.Node = NODE_FILE;\r
                                                else\r
@@ -2847,6 +2848,18 @@ void MakeSelectedFileList(int Win, int Expand, int All, FILELIST **Base, int *Ca
                                                memset(&Pkt.Time, 0, sizeof(FILETIME));\r
                                                AddFileList(&Pkt, Base);\r
 \r
+//                                             if(Win == WIN_LOCAL)\r
+//                                                     MakeLocalTree(Name, Base);\r
+//                                             else\r
+//                                             {\r
+//                                                     AskRemoteCurDir(Cur, FMAX_PATH);\r
+//\r
+//                                                     if((AskListCmdMode() == NO) &&\r
+//                                                        (AskUseNLST_R() == YES))\r
+//                                                             MakeRemoteTree1(Name, Cur, Base, CancelCheckWork);\r
+//                                                     else\r
+//                                                             MakeRemoteTree2(Name, Cur, Base, CancelCheckWork);\r
+//                                             }\r
                                                if(GetImageIndex(Win, Pos) != 4) { // symlink\r
                                                        if(Win == WIN_LOCAL)\r
                                                                MakeLocalTree(Name, Base);\r
@@ -3081,8 +3094,9 @@ static void MakeRemoteTree2(char *Path, char *Cur, FILELIST **Base, int *CancelC
 \r
                                        /* まずディレクトリ名をセット */\r
                                        strcpy(Pkt.File, Pos->File);\r
+//                                     Pkt.Node = NODE_DIR;\r
                                        Pkt.Link = Pos->Link;\r
-                                       if(Pkt.Link)\r
+                                       if(Pkt.Link == YES)\r
                                                Pkt.Node = NODE_FILE;\r
                                        else\r
                                                Pkt.Node = NODE_DIR;\r
@@ -3092,7 +3106,8 @@ static void MakeRemoteTree2(char *Path, char *Cur, FILELIST **Base, int *CancelC
                                        AddFileList(&Pkt, Base);\r
 \r
                                        /* そのディレクトリの中を検索 */\r
-                                       if(!Pkt.Link)\r
+//                                     MakeRemoteTree2(Pos->File, Cur, Base, CancelCheckWork);\r
+                                       if(Pkt.Link == NO)\r
                                                MakeRemoteTree2(Pos->File, Cur, Base, CancelCheckWork);\r
                                }\r
                                Pos = Pos->Next;\r
diff --git a/misc.c b/misc.c
index 007ea73..d3c49b7 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1155,19 +1155,30 @@ void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist)
                FileTimeToLocalFileTime(Time, &fTime);\r
                FileTimeToSystemTime(&fTime, &sTime);\r
 \r
-               if(InfoExist & FINFO_DATE)\r
-                       sprintf(Buf, "%04d/%02d/%02d ", sTime.wYear, sTime.wMonth, sTime.wDay);\r
-               else\r
-                       sprintf(Buf, "           ");\r
-\r
-               if(InfoExist & FINFO_TIME)\r
-                       // タイムスタンプのバグ修正\r
+               // タイムスタンプのバグ修正\r
+//             if(InfoExist & FINFO_DATE)\r
+//                     sprintf(Buf, "%04d/%02d/%02d ", sTime.wYear, sTime.wMonth, sTime.wDay);\r
+//             else\r
+//                     sprintf(Buf, "           ");\r
+//\r
+//             if(InfoExist & FINFO_TIME)\r
 //                     sprintf(Buf+11, "%2d:%02d", sTime.wHour, sTime.wMinute);\r
-                       sprintf(Buf+11, "%2d:%02d:%02d", sTime.wHour, sTime.wMinute, sTime.wSecond);\r
-               else\r
-                       // タイムスタンプのバグ修正\r
+//             else\r
 //                     sprintf(Buf+11, "     ");\r
-                       sprintf(Buf+11, "        ");\r
+               if(InfoExist & (FINFO_DATE | FINFO_TIME))\r
+               {\r
+                       if(InfoExist & FINFO_DATE)\r
+                               sprintf(Buf, "%04d/%02d/%02d ", sTime.wYear, sTime.wMonth, sTime.wDay);\r
+                       else\r
+                               sprintf(Buf, "           ");\r
+\r
+                       if(InfoExist & FINFO_TIME)\r
+                               sprintf(Buf+11, "%2d:%02d:%02d", sTime.wHour, sTime.wMinute, sTime.wSecond);\r
+                       else\r
+                               sprintf(Buf+11, "        ");\r
+               }\r
+               else\r
+                       Buf[0] = NUL;\r
        }\r
        else\r
        {\r