OSDN Git Service

Fix bugs of automatic detection for Kanji code of filenames.
[ffftp/ffftp.git] / taskwin.c
index 59a9af6..5b950d4 100644 (file)
--- a/taskwin.c
+++ b/taskwin.c
@@ -1,6 +1,6 @@
-/*=============================================================================\r
+/*=============================================================================\r
 *\r
 *\r
-*                                                              \83^\83X\83N\83E\83C\83\93\83h\83E\r
+*                                                              タスクウインドウ\r
 *\r
 ===============================================================================\r
 / Copyright (C) 1997-2007 Sota. All rights reserved.\r
 *\r
 ===============================================================================\r
 / Copyright (C) 1997-2007 Sota. All rights reserved.\r
 #include "common.h"\r
 #include "resource.h"\r
 \r
 #include "common.h"\r
 #include "resource.h"\r
 \r
-#define TASK_BUFSIZE   (16*1024)\r
+// Windows 9x系をサポートしないため不要\r
+//#define TASK_BUFSIZE (16*1024)\r
 \r
 \r
 \r
 \r
 \r
 \r
 \r
 \r
-/*===== \8aO\95\94\8eQ\8fÆ =====*/\r
+/*===== 外部参照 =====*/\r
 \r
 extern int ClientWidth;\r
 extern int SepaWidth;\r
 extern int ListHeight;\r
 \r
 \r
 extern int ClientWidth;\r
 extern int SepaWidth;\r
 extern int ListHeight;\r
 \r
-/* \90Ý\92è\92l */\r
+/* 設定値 */\r
 extern int TaskHeight;\r
 extern HFONT ListFont;\r
 extern int DebugConsole;\r
 \r
 extern int TaskHeight;\r
 extern HFONT ListFont;\r
 extern int DebugConsole;\r
 \r
-/*===== \83\8d\81[\83J\83\8b\82È\83\8f\81[\83N =====*/\r
+/*===== ローカルなワーク =====*/\r
 \r
 static HWND hWndTask = NULL;\r
 static HANDLE DispLogSemaphore;\r
 \r
 static HWND hWndTask = NULL;\r
 static HANDLE DispLogSemaphore;\r
@@ -66,22 +67,22 @@ static HANDLE DispLogSemaphore2;
 \r
 \r
 \r
 \r
 \r
 \r
-/*----- \83^\83X\83N\83E\83C\83\93\83h\83E\82ð\8dì\90¬\82·\82é --------------------------------------------\r
+/*----- タスクウインドウを作成する --------------------------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              HWND hWnd : \90e\83E\83C\83\93\83h\83E\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              HINSTANCE hInst : \83C\83\93\83X\83^\83\93\83X\83n\83\93\83h\83\8b\r
+*              HWND hWnd : 親ウインドウのウインドウハンドル\r
+*              HINSTANCE hInst : インスタンスハンドル\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              int \83X\83e\81[\83^\83X\r
-*                      SUCCESS/FAIL\r
+*              int ステータス\r
+*                      FFFTP_SUCCESS/FFFTP_FAIL\r
 *----------------------------------------------------------------------------*/\r
 \r
 int MakeTaskWindow(HWND hWnd, HINSTANCE hInst)\r
 {\r
        int Sts;\r
 \r
 *----------------------------------------------------------------------------*/\r
 \r
 int MakeTaskWindow(HWND hWnd, HINSTANCE hInst)\r
 {\r
        int Sts;\r
 \r
-       Sts = FAIL;\r
+       Sts = FFFTP_FAIL;\r
        hWndTask = CreateWindowEx(/*WS_EX_STATICEDGE*/WS_EX_CLIENTEDGE,\r
                        "EDIT", NULL,\r
                        WS_CHILD | WS_BORDER | ES_AUTOVSCROLL | WS_VSCROLL | ES_MULTILINE | ES_READONLY | WS_CLIPSIBLINGS,\r
        hWndTask = CreateWindowEx(/*WS_EX_STATICEDGE*/WS_EX_CLIENTEDGE,\r
                        "EDIT", NULL,\r
                        WS_CHILD | WS_BORDER | ES_AUTOVSCROLL | WS_VSCROLL | ES_MULTILINE | ES_READONLY | WS_CLIPSIBLINGS,\r
@@ -90,13 +91,15 @@ int MakeTaskWindow(HWND hWnd, HINSTANCE hInst)
 \r
        if(hWndTask != NULL)\r
        {\r
 \r
        if(hWndTask != NULL)\r
        {\r
-               SendMessage(hWndTask, EM_LIMITTEXT, TASK_BUFSIZE, 0);\r
+               // Windows 9x系をサポートしないため不要\r
+//             SendMessage(hWndTask, EM_LIMITTEXT, TASK_BUFSIZE, 0);\r
+               SendMessage(hWndTask, EM_LIMITTEXT, 0x7fffffff, 0);\r
 \r
                if(ListFont != NULL)\r
                        SendMessage(hWndTask, WM_SETFONT, (WPARAM)ListFont, MAKELPARAM(TRUE, 0));\r
 \r
                ShowWindow(hWndTask, SW_SHOW);\r
 \r
                if(ListFont != NULL)\r
                        SendMessage(hWndTask, WM_SETFONT, (WPARAM)ListFont, MAKELPARAM(TRUE, 0));\r
 \r
                ShowWindow(hWndTask, SW_SHOW);\r
-               Sts = SUCCESS;\r
+               Sts = FFFTP_SUCCESS;\r
 \r
                DispLogSemaphore = CreateSemaphore(NULL, 1, 1, NULL);\r
                DispLogSemaphore2 = CreateSemaphore(NULL, 1, 1, NULL);\r
 \r
                DispLogSemaphore = CreateSemaphore(NULL, 1, 1, NULL);\r
                DispLogSemaphore2 = CreateSemaphore(NULL, 1, 1, NULL);\r
@@ -106,13 +109,13 @@ int MakeTaskWindow(HWND hWnd, HINSTANCE hInst)
 }\r
 \r
 \r
 }\r
 \r
 \r
-/*----- \83^\83X\83N\83E\83C\83\93\83h\83E\82ð\8dí\8f\9c ------------------------------------------------\r
+/*----- タスクウインドウを削除 ------------------------------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DeleteTaskWindow(void)\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DeleteTaskWindow(void)\r
@@ -125,13 +128,13 @@ void DeleteTaskWindow(void)
 }\r
 \r
 \r
 }\r
 \r
 \r
-/*----- \83^\83X\83N\83E\83C\83\93\83h\83E\82Ì\83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\82ð\95Ô\82· ----------------------------\r
+/*----- タスクウインドウのウインドウハンドルを返す ----------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              HWND \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
+*              HWND ウインドウハンドル\r
 *----------------------------------------------------------------------------*/\r
 \r
 HWND GetTaskWnd(void)\r
 *----------------------------------------------------------------------------*/\r
 \r
 HWND GetTaskWnd(void)\r
@@ -140,14 +143,14 @@ HWND GetTaskWnd(void)
 }\r
 \r
 \r
 }\r
 \r
 \r
-/*----- \83^\83X\83N\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82·\82é --------------------------------------------\r
+/*----- タスクメッセージを表示する --------------------------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              char *szFormat : \83t\83H\81[\83}\83b\83g\95\8e\9a\97ñ\r
-*              ... : \83p\83\89\83\81\81[\83^\r
+*              char *szFormat : フォーマット文字列\r
+*              ... : パラメータ\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void SetTaskMsg(char *szFormat, ...)\r
 *----------------------------------------------------------------------------*/\r
 \r
 void SetTaskMsg(char *szFormat, ...)\r
@@ -176,17 +179,18 @@ void SetTaskMsg(char *szFormat, ...)
                                strcat(szBuf, "\r\n");\r
                                Pos = SendMessage(GetTaskWnd(), WM_GETTEXTLENGTH, 0, 0);\r
 \r
                                strcat(szBuf, "\r\n");\r
                                Pos = SendMessage(GetTaskWnd(), WM_GETTEXTLENGTH, 0, 0);\r
 \r
-                               /* \83e\83L\83X\83g\83T\83C\83Y\82Ì\83\8a\83~\83b\83g\92l\82ð\83`\83F\83b\83N */\r
-                               if((Pos + strlen(szBuf)) >= TASK_BUFSIZE)\r
-                               {\r
-                                       /* \83\8a\83~\83b\83g\82ð\89z\82¦\82»\82¤\82È\82ç\81A\90æ\93ª\95\94\95ª\82ð\90Ø\82è\8eÌ\82Ä\82é */\r
-                                       Pos = SendMessage(GetTaskWnd(), EM_LINEFROMCHAR, TASK_BUFSIZE/10, 0) + 1;\r
-                                       Pos = SendMessage(GetTaskWnd(), EM_LINEINDEX, Pos, 0);\r
-                                       SendMessage(GetTaskWnd(), EM_SETSEL, 0, Pos);\r
-                                       SendMessage(GetTaskWnd(), EM_REPLACESEL, FALSE, (LPARAM)"");\r
-\r
-                                       Pos = SendMessage(GetTaskWnd(), WM_GETTEXTLENGTH, 0, 0);\r
-                               }\r
+                               /* テキストサイズのリミット値をチェック */\r
+                               // Windows 9x系をサポートしないため不要\r
+//                             if((Pos + strlen(szBuf)) >= TASK_BUFSIZE)\r
+//                             {\r
+//                                     /* リミットを越えそうなら、先頭部分を切り捨てる */\r
+//                                     Pos = SendMessage(GetTaskWnd(), EM_LINEFROMCHAR, TASK_BUFSIZE/10, 0) + 1;\r
+//                                     Pos = SendMessage(GetTaskWnd(), EM_LINEINDEX, Pos, 0);\r
+//                                     SendMessage(GetTaskWnd(), EM_SETSEL, 0, Pos);\r
+//                                     SendMessage(GetTaskWnd(), EM_REPLACESEL, FALSE, (LPARAM)"");\r
+//\r
+//                                     Pos = SendMessage(GetTaskWnd(), WM_GETTEXTLENGTH, 0, 0);\r
+//                             }\r
 \r
                                SendMessage(GetTaskWnd(), EM_SETSEL, Pos, Pos);\r
                                SendMessage(GetTaskWnd(), EM_REPLACESEL, FALSE, (LPARAM)szBuf);\r
 \r
                                SendMessage(GetTaskWnd(), EM_SETSEL, Pos, Pos);\r
                                SendMessage(GetTaskWnd(), EM_REPLACESEL, FALSE, (LPARAM)szBuf);\r
@@ -204,14 +208,14 @@ void SetTaskMsg(char *szFormat, ...)
 }\r
 \r
 \r
 }\r
 \r
 \r
-/*----- \83^\83X\83N\83\81\83b\83Z\81[\83W\82ð\83t\83@\83C\83\8b\82É\95Û\91\82·\82é ----------------------------------\r
+/*----- タスクメッセージをファイルに保存する ----------------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              char *Fname : \83t\83@\83C\83\8b\96¼\r
+*              char *Fname : ファイル名\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              int \83X\83e\81[\83^\83X\r
-*                      SUCCESS/FAIL\r
+*              int ステータス\r
+*                      FFFTP_SUCCESS/FFFTP_FAIL\r
 *----------------------------------------------------------------------------*/\r
 \r
 int SaveTaskMsg(char *Fname)\r
 *----------------------------------------------------------------------------*/\r
 \r
 int SaveTaskMsg(char *Fname)\r
@@ -222,7 +226,7 @@ int SaveTaskMsg(char *Fname)
        int Sts;\r
 \r
 \r
        int Sts;\r
 \r
 \r
-       Sts = FAIL;\r
+       Sts = FFFTP_FAIL;\r
        Size = SendMessage(GetTaskWnd(), WM_GETTEXTLENGTH, 0, 0);\r
        if((Buf = malloc(Size)) != NULL)\r
        {\r
        Size = SendMessage(GetTaskWnd(), WM_GETTEXTLENGTH, 0, 0);\r
        if((Buf = malloc(Size)) != NULL)\r
        {\r
@@ -230,10 +234,10 @@ int SaveTaskMsg(char *Fname)
                {\r
                        SendMessage(GetTaskWnd(), WM_GETTEXT, Size, (LPARAM)Buf);\r
                        if(fwrite(Buf, strlen(Buf), 1, Strm) == 1)\r
                {\r
                        SendMessage(GetTaskWnd(), WM_GETTEXT, Size, (LPARAM)Buf);\r
                        if(fwrite(Buf, strlen(Buf), 1, Strm) == 1)\r
-                               Sts = SUCCESS;\r
+                               Sts = FFFTP_SUCCESS;\r
                        fclose(Strm);\r
 \r
                        fclose(Strm);\r
 \r
-                       if(Sts == FAIL)\r
+                       if(Sts == FFFTP_FAIL)\r
                                _unlink(Fname);\r
                }\r
                free(Buf);\r
                                _unlink(Fname);\r
                }\r
                free(Buf);\r
@@ -242,13 +246,13 @@ int SaveTaskMsg(char *Fname)
 }\r
 \r
 \r
 }\r
 \r
 \r
-/*----- \83^\83X\83N\93à\97e\82ð\83r\83\85\81[\83\8f\82Å\95\\8e¦ --------------------------------------------\r
+/*----- タスク内容をビューワで表示 --------------------------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DispTaskMsg(void)\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DispTaskMsg(void)\r
@@ -259,7 +263,7 @@ void DispTaskMsg(void)
        SetYenTail(Buf);\r
        strcat(Buf, "_ffftp.tsk");\r
 \r
        SetYenTail(Buf);\r
        strcat(Buf, "_ffftp.tsk");\r
 \r
-       if(SaveTaskMsg(Buf) == SUCCESS)\r
+       if(SaveTaskMsg(Buf) == FFFTP_SUCCESS)\r
        {\r
                AddTempFileList(Buf);\r
                ExecViewer(Buf, 0);\r
        {\r
                AddTempFileList(Buf);\r
                ExecViewer(Buf, 0);\r
@@ -268,14 +272,14 @@ void DispTaskMsg(void)
 }\r
 \r
 \r
 }\r
 \r
 \r
-/*----- \83f\83o\83b\83O\83R\83\93\83\\81[\83\8b\82É\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82·\82é ------------------------------\r
+/*----- デバッグコンソールにメッセージを表示する ------------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              char *szFormat : \83t\83H\81[\83}\83b\83g\95\8e\9a\97ñ\r
-*              ... : \83p\83\89\83\81\81[\83^\r
+*              char *szFormat : フォーマット文字列\r
+*              ... : パラメータ\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DoPrintf(char *szFormat, ...)\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DoPrintf(char *szFormat, ...)\r
@@ -315,14 +319,14 @@ void DoPrintf(char *szFormat, ...)
 }\r
 \r
 \r
 }\r
 \r
 \r
-/*----- \83f\83o\83b\83O\83R\83\93\83\\81[\83\8b\82É\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82·\82é ------------------------------\r
+/*----- デバッグコンソールにメッセージを表示する ------------------------------\r
 *\r
 *      Parameter\r
 *\r
 *      Parameter\r
-*              char *szFormat : \83t\83H\81[\83}\83b\83g\95\8e\9a\97ñ\r
-*              ... : \83p\83\89\83\81\81[\83^\r
+*              char *szFormat : フォーマット文字列\r
+*              ... : パラメータ\r
 *\r
 *      Return Value\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DoPrintf2(char *szFormat, ...)\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DoPrintf2(char *szFormat, ...)\r