-/*=============================================================================\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
#define STRICT\r
+// IPv6対応\r
+#include <winsock2.h>\r
#include <windows.h>\r
#include <stdio.h>\r
#include <stdlib.h>\r
#include <windowsx.h>\r
#include <commctrl.h>\r
#include <stdarg.h>\r
-#include <winsock.h>\r
+// IPv6対応\r
+//#include <winsock.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
-/*===== \8aO\95\94\8eQ\8fÆ =====*/\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
-/*===== \83\8d\81[\83J\83\8b\82È\83\8f\81[\83N =====*/\r
+/*===== ローカルなワーク =====*/\r
\r
static HWND hWndTask = NULL;\r
static HANDLE DispLogSemaphore;\r
\r
\r
\r
-/*----- \83^\83X\83N\83E\83C\83\93\83h\83E\82ð\8dì\90¬\82·\82é --------------------------------------------\r
+/*----- タスクウインドウを作成する --------------------------------------------\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
-* 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
- 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
\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
- Sts = SUCCESS;\r
+ Sts = FFFTP_SUCCESS;\r
\r
DispLogSemaphore = CreateSemaphore(NULL, 1, 1, NULL);\r
DispLogSemaphore2 = CreateSemaphore(NULL, 1, 1, NULL);\r
}\r
\r
\r
-/*----- \83^\83X\83N\83E\83C\83\93\83h\83E\82ð\8dí\8f\9c ------------------------------------------------\r
+/*----- タスクウインドウを削除 ------------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void DeleteTaskWindow(void)\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
-* \82È\82µ\r
+* なし\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
\r
-/*----- \83^\83X\83N\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82·\82é --------------------------------------------\r
+/*----- タスクメッセージを表示する --------------------------------------------\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
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void SetTaskMsg(char *szFormat, ...)\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
\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
-* char *Fname : \83t\83@\83C\83\8b\96¼\r
+* char *Fname : ファイル名\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
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
{\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
- if(Sts == FAIL)\r
+ if(Sts == FFFTP_FAIL)\r
_unlink(Fname);\r
}\r
free(Buf);\r
}\r
\r
\r
-/*----- \83^\83X\83N\93à\97e\82ð\83r\83\85\81[\83\8f\82Å\95\\8e¦ --------------------------------------------\r
+/*----- タスク内容をビューワで表示 --------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void DispTaskMsg(void)\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
\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
-* 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
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void DoPrintf(char *szFormat, ...)\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
-* 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
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void DoPrintf2(char *szFormat, ...)\r