OSDN Git Service

Fix the commit.
[ffftp/ffftp.git] / remote.c
index 2692f29..61e58fd 100644 (file)
--- a/remote.c
+++ b/remote.c
@@ -300,7 +300,10 @@ int DoMKD(char *Path)
 \r
        // 自動切断対策\r
        if(CancelFlg == NO && AskNoopInterval() > 0 && time(NULL) - LastDataConnectionTime >= AskNoopInterval())\r
+       {\r
                NoopProc(YES);\r
+               LastDataConnectionTime = time(NULL);\r
+       }\r
 \r
        return(Sts/100);\r
 }\r
@@ -328,7 +331,10 @@ int DoRMD(char *Path)
 \r
        // 自動切断対策\r
        if(CancelFlg == NO && AskNoopInterval() > 0 && time(NULL) - LastDataConnectionTime >= AskNoopInterval())\r
+       {\r
                NoopProc(YES);\r
+               LastDataConnectionTime = time(NULL);\r
+       }\r
 \r
        return(Sts/100);\r
 }\r
@@ -356,7 +362,10 @@ int DoDELE(char *Path)
 \r
        // 自動切断対策\r
        if(CancelFlg == NO && AskNoopInterval() > 0 && time(NULL) - LastDataConnectionTime >= AskNoopInterval())\r
+       {\r
                NoopProc(YES);\r
+               LastDataConnectionTime = time(NULL);\r
+       }\r
 \r
        return(Sts/100);\r
 }\r
@@ -389,7 +398,10 @@ int DoRENAME(char *Src, char *Dst)
 \r
        // 自動切断対策\r
        if(CancelFlg == NO && AskNoopInterval() > 0 && time(NULL) - LastDataConnectionTime >= AskNoopInterval())\r
+       {\r
                NoopProc(YES);\r
+               LastDataConnectionTime = time(NULL);\r
+       }\r
 \r
        return(Sts/100);\r
 }\r
@@ -418,7 +430,10 @@ int DoCHMOD(char *Path, char *Mode)
 \r
        // 自動切断対策\r
        if(CancelFlg == NO && AskNoopInterval() > 0 && time(NULL) - LastDataConnectionTime >= AskNoopInterval())\r
+       {\r
                NoopProc(YES);\r
+               LastDataConnectionTime = time(NULL);\r
+       }\r
 \r
        return(Sts/100);\r
 }\r
@@ -961,8 +976,11 @@ int command(SOCKET cSkt, char *Reply, int *CancelCheckWork, char *fmt, ...)
                {\r
                        ChangeSepaLocal2Remote(Cmd);\r
                        SetTaskMsg(">%s", Cmd);\r
-                       ChangeFnameLocal2Remote(Cmd, FMAX_PATH*2);\r
+                       // UTF-8対応\r
+//                     ChangeFnameLocal2Remote(Cmd, FMAX_PATH*2);\r
                }\r
+               // UTF-8対応\r
+               ChangeFnameLocal2Remote(Cmd, FMAX_PATH*2);\r
 \r
 //             DoPrintf("SEND : %s", Cmd);\r
                strcat(Cmd, "\x0D\x0A");\r
@@ -1637,6 +1655,17 @@ int ChangeFnameRemote2Local(char *Fname, int Max)
 //                             *(Buf + cInfo.OutLen) = NUL;\r
 //                             strcpy(Pos, Buf);\r
 //                             break;\r
+\r
+                       // UTF-8 HFS+対応\r
+                       case KANJI_UTF8HFSX :\r
+                               ConvUTF8HFSXtoUTF8N(&cInfo);\r
+                               *(Buf + cInfo.OutLen) = NUL;\r
+                               strcpy(Fname, Buf);\r
+                               Pos = strchr(Fname, NUL);\r
+                               FlushRestData(&cInfo);\r
+                               *(Buf + cInfo.OutLen) = NUL;\r
+                               strcpy(Pos, Buf);\r
+                               break;\r
                }\r
                // バッファ上書きバグ対策\r
                free(Buf2);\r
@@ -1805,6 +1834,17 @@ int ChangeFnameLocal2Remote(char *Fname, int Max)
 //                             *(Buf + cInfo.OutLen) = NUL;\r
 //                             strcpy(Pos, Buf);\r
 //                             break;\r
+\r
+                       // UTF-8 HFS+対応\r
+                       case KANJI_UTF8HFSX :\r
+                               ConvUTF8NtoUTF8HFSX(&cInfo);\r
+                               *(Buf + cInfo.OutLen) = NUL;\r
+                               strcpy(Fname, Buf);\r
+                               Pos = strchr(Fname, NUL);\r
+                               FlushRestData(&cInfo);\r
+                               *(Buf + cInfo.OutLen) = NUL;\r
+                               strcpy(Pos, Buf);\r
+                               break;\r
                }\r
                // バッファ上書きバグ対策\r
                free(Buf2);\r