OSDN Git Service

Add support for linux-ftpd (untested).
[ffftp/ffftp.git] / misc.c
diff --git a/misc.c b/misc.c
index cc00144..5489e66 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -64,7 +64,9 @@ typedef struct {
 \r
 /*===== プロトタイプ =====*/\r
 \r
-static BOOL CALLBACK InputDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
+// 64ビット対応\r
+//static BOOL CALLBACK InputDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK InputDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
 \r
 /*===== 外部参照 =====*/\r
 \r
@@ -134,7 +136,9 @@ int InputDialogBox(int Res, HWND hWnd, char *Title, char *Buf, int Max, int *Flg
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-static BOOL CALLBACK InputDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK InputDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK InputDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
 {\r
        char Tmp[FMAX_PATH+1];\r
 \r
@@ -188,7 +192,9 @@ static BOOL CALLBACK InputDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+INT_PTR CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        switch (message)\r
        {\r
@@ -224,7 +230,9 @@ BOOL CALLBACK ExeEscDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
 *              BOOL TRUE/FALSE\r
 *----------------------------------------------------------------------------*/\r
 \r
-BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//BOOL CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+INT_PTR CALLBACK ExeEscTextDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
        switch (message)\r
        {\r
@@ -1733,6 +1741,7 @@ char *MakeNumString(LONGLONG Num, char *Buf, BOOL Comma)
 // 現在UNC対応の予定は無い\r
 char* MakeDistinguishableFileName(char* Out, char* In)\r
 {\r
+       char* Fname;\r
        char Tmp[FMAX_PATH+1];\r
        char Tmp2[FMAX_PATH+3];\r
        HANDLE hFind;\r
@@ -1741,6 +1750,7 @@ char* MakeDistinguishableFileName(char* Out, char* In)
                strcpy(Out, In);\r
        else\r
        {\r
+               Fname = GetFileName(In);\r
                strcpy(Tmp, In);\r
                strcpy(Tmp2, Tmp);\r
                strcat(Tmp2, ".*");\r
@@ -1748,12 +1758,12 @@ char* MakeDistinguishableFileName(char* Out, char* In)
                {\r
                        do\r
                        {\r
-                               if(strchr(Find.cFileName, '.'))\r
+                               if(strcmp(Find.cFileName, Fname) != 0)\r
                                        break;\r
                        }\r
                        while(FindNextFile(hFind, &Find));\r
                        FindClose(hFind);\r
-                       if(strchr(Find.cFileName, '.'))\r
+                       if(strcmp(Find.cFileName, Fname) != 0)\r
                        {\r
                                strcat(Tmp, " ");\r
                                strcpy(Tmp2, Tmp);\r
@@ -1767,3 +1777,14 @@ char* MakeDistinguishableFileName(char* Out, char* In)
        return Out;\r
 }\r
 \r
+// 環境依存の不具合対策\r
+char* GetAppTempPath(char* Buf)\r
+{\r
+       char Temp[32];\r
+       GetTempPath(MAX_PATH, Buf);\r
+       SetYenTail(Buf);\r
+       sprintf(Temp, "ffftp%08x", GetCurrentProcessId());\r
+       strcat(Buf, Temp);\r
+       return Buf;\r
+}\r
+\r