OSDN Git Service

Fix bugs of printing transfer rate.
[ffftp/ffftp.git] / main.c
diff --git a/main.c b/main.c
index 2f3eacb..6ea14fc 100644 (file)
--- a/main.c
+++ b/main.c
@@ -234,21 +234,37 @@ int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLi
 \r
        // プロセス保護\r
 #ifdef ENABLE_PROCESS_PROTECTION\r
-       BOOL bProtect;\r
+       DWORD ProtectLevel;\r
        char* pCommand;\r
        char Option[FMAX_PATH+1];\r
-       bProtect = FALSE;\r
+       ProtectLevel = PROCESS_PROTECTION_NONE;\r
        pCommand = lpszCmdLine;\r
        while(pCommand = GetToken(pCommand, Option))\r
        {\r
                if(strcmp(Option, "--protect") == 0)\r
                {\r
-                       bProtect = TRUE;\r
+                       ProtectLevel = PROCESS_PROTECTION_DEFAULT;\r
+                       break;\r
+               }\r
+               else if(strcmp(Option, "--protect-high") == 0)\r
+               {\r
+                       ProtectLevel = PROCESS_PROTECTION_HIGH;\r
+                       break;\r
+               }\r
+               else if(strcmp(Option, "--protect-medium") == 0)\r
+               {\r
+                       ProtectLevel = PROCESS_PROTECTION_MEDIUM;\r
+                       break;\r
+               }\r
+               else if(strcmp(Option, "--protect-low") == 0)\r
+               {\r
+                       ProtectLevel = PROCESS_PROTECTION_LOW;\r
                        break;\r
                }\r
        }\r
-       if(bProtect)\r
+       if(ProtectLevel != PROCESS_PROTECTION_NONE)\r
        {\r
+               SetProcessProtectionLevel(ProtectLevel);\r
                if(!InitializeLoadLibraryHook())\r
                {\r
                        MessageBox(NULL, MSGJPN321, "FFFTP", MB_OK | MB_ICONERROR);\r
@@ -483,7 +499,7 @@ static int InitApp(LPSTR lpszCmdLine, int cmdShow)
                                        DispWindowTitle();\r
                                        // SourceForge.JPによるフォーク\r
 //                                     SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.");\r
-                                       SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011 Hiromichi Matsushima, Suguru Kawamoto.");\r
+                                       SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto).");\r
 \r
                                        if(ForceIni)\r
                                                SetTaskMsg("%s%s", MSGJPN283, IniPath);\r
@@ -1755,6 +1771,15 @@ static int AnalyzeComLine(char *Str, int *AutoConnect, int *CmdOption, char *unc
                        else if(strcmp(Tmp, "--protect") == 0)\r
                        {\r
                        }\r
+                       else if(strcmp(Tmp, "--protect-high") == 0)\r
+                       {\r
+                       }\r
+                       else if(strcmp(Tmp, "--protect-medium") == 0)\r
+                       {\r
+                       }\r
+                       else if(strcmp(Tmp, "--protect-low") == 0)\r
+                       {\r
+                       }\r
 #endif\r
                        else\r
                        {\r
@@ -2742,12 +2767,29 @@ int AskAutoExit(void)
 int EnterMasterPasswordAndSet( int Res, HWND hWnd )\r
 {\r
        char buf[MAX_PASSWORD_LEN + 1];\r
+       // パスワードの入力欄を非表示\r
+       // 非表示にしたため新しいパスワードを2回入力させる\r
+       char buf1[MAX_PASSWORD_LEN + 1];\r
        char *p;\r
        int Flag;\r
 \r
        buf[0] = NUL;\r
        if( InputDialogBox(Res, hWnd, NULL, buf, MAX_PASSWORD_LEN + 1,\r
                &Flag, IDH_HELP_TOPIC_0000064) == YES){\r
+               // パスワードの入力欄を非表示\r
+               if(Res == newmasterpasswd_dlg)\r
+               {\r
+                       buf1[0] = NUL;\r
+                       if( InputDialogBox(Res, hWnd, NULL, buf1, MAX_PASSWORD_LEN + 1,\r
+                               &Flag, IDH_HELP_TOPIC_0000064) != YES){\r
+                               return 0;\r
+                       }\r
+                       if(strcmp(buf, buf1) != 0)\r
+                       {\r
+                               MessageBox(hWnd, MSGJPN325, "FFFTP", MB_OK | MB_ICONERROR);\r
+                               return 0;\r
+                       }\r
+               }\r
                /* 末尾の空白を削除 */\r
                RemoveTailingSpaces(buf);\r
                /* 先頭の空白を削除 */\r