OSDN Git Service

Fix bugs of process protection on Windows 7.
[ffftp/ffftp.git] / cache.c
diff --git a/cache.c b/cache.c
index c68b1b6..b26f1e4 100644 (file)
--- a/cache.c
+++ b/cache.c
@@ -1,6 +1,6 @@
-/*=============================================================================\r
+/*=============================================================================\r
 *\r
-*                                                              \83t\83@\83C\83\8b\88ê\97\97\83L\83\83\83b\83V\83\85\r
+*                                                              ファイル一覧キャッシュ\r
 *\r
 ===============================================================================\r
 / Copyright (C) 1997-2007 Sota. All rights reserved.\r
@@ -50,31 +50,31 @@ static BOOL CALLBACK CountPrevFfftpWindowsProc(HWND hWnd, LPARAM lParam);
 \r
 \r
 \r
-/*===== \83L\83\83\83b\83V\83\85\83f\81[\83^\82Ì\83X\83g\83\89\83N\83`\83\83 =====*/\r
+/*===== キャッシュデータのストラクチャ =====*/\r
 \r
 typedef struct {\r
-       time_t Time;                                            /* \83\8a\83X\83g\82É\93o\98^\82µ\82½\8e\9e\8aÔ */\r
-       char HostAdrs[HOST_ADRS_LEN+1];         /* \83z\83X\83g\82Ì\83A\83h\83\8c\83X */\r
-       char UserName[USER_NAME_LEN+1];         /* \83\86\81[\83U\96¼ */\r
-       char Path[FMAX_PATH+1];                         /* \83p\83X\96¼ */\r
+       time_t Time;                                            /* リストに登録した時間 */\r
+       char HostAdrs[HOST_ADRS_LEN+1];         /* ホストのアドレス */\r
+       char UserName[USER_NAME_LEN+1];         /* ユーザ名 */\r
+       char Path[FMAX_PATH+1];                         /* パス名 */\r
 } CACHELIST;\r
 \r
-/*===== \83\8d\81[\83J\83\8b\82È\83\8f\81[\83N =====*/\r
+/*===== ローカルなワーク =====*/\r
 \r
-static CACHELIST *RemoteCache = NULL;  /* \83L\83\83\83b\83V\83\85\83f\81[\83^ */\r
-static int TmpCacheEntry = 0;                  /* \83L\83\83\83b\83V\83\85\82³\82ê\82Ä\82¢\82é\83f\81[\83^\82Ì\90\94 */\r
-static int LastNum;                                            /* \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83f\81[\83^\82Ì\94Ô\8d\86 */\r
-static int ProgNum;                                            /* FFFTP\82Ì\8bN\93®\94Ô\8d\86 */\r
+static CACHELIST *RemoteCache = NULL;  /* キャッシュデータ */\r
+static int TmpCacheEntry = 0;                  /* キャッシュされているデータの数 */\r
+static int LastNum;                                            /* 現在表示しているデータの番号 */\r
+static int ProgNum;                                            /* FFFTPの起動番号 */\r
 \r
 \r
-/*----- \83t\83@\83C\83\8b\88ê\97\97\83L\83\83\83b\83V\83\85\82ð\8dì\90¬\82·\82é --------------------------------------\r
+/*----- ファイル一覧キャッシュを作成する --------------------------------------\r
 *\r
 *      Parameter\r
-*              int Num : \83L\83\83\83b\83V\83\85\89Â\94\\8cÂ\90\94\r
+*              int Num : キャッシュ可能個数\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 MakeCacheBuf(int Num)\r
@@ -82,29 +82,29 @@ int MakeCacheBuf(int Num)
        int Sts;\r
        int i;\r
 \r
-       Sts = SUCCESS;\r
+       Sts = FFFTP_SUCCESS;\r
        if(Num > 0)\r
        {\r
-               Sts = FAIL;\r
+               Sts = FFFTP_FAIL;\r
                if((RemoteCache = malloc(sizeof(CACHELIST) * Num)) != NULL)\r
                {\r
                        TmpCacheEntry = Num;\r
                        for(i = 0; i < TmpCacheEntry; i++)\r
                                ClearCache(i);\r
-                       Sts = SUCCESS;\r
+                       Sts = FFFTP_SUCCESS;\r
                }\r
        }\r
        return(Sts);\r
 }\r
 \r
 \r
-/*----- \83t\83@\83C\83\8b\88ê\97\97\83L\83\83\83b\83V\83\85\82ð\8dí\8f\9c\82·\82é --------------------------------------\r
+/*----- ファイル一覧キャッシュを削除する --------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DeleteCacheBuf(void)\r
@@ -117,14 +117,14 @@ void DeleteCacheBuf(void)
 }\r
 \r
 \r
-/*----- \83p\83X\82ª\83L\83\83\83b\83V\83\85\82³\82ê\82Ä\82¢\82é\82©\82Ç\82¤\82©\82ð\95Ô\82· ------------------------------\r
+/*----- パスがキャッシュされているかどうかを返す ------------------------------\r
 *\r
 *      Parameter\r
-*              char *Path : \83p\83X\96¼\r
+*              char *Path : パス名\r
 *\r
 *      Return Value\r
-*              int \83L\83\83\83b\83V\83\85\83f\81[\83^\82Ì\94Ô\8d\86\r
-*                      -1 = \83L\83\83\83b\83V\83\85\82³\82ê\82Ä\82¢\82È\82¢\r
+*              int キャッシュデータの番号\r
+*                      -1 = キャッシュされていない\r
 *----------------------------------------------------------------------------*/\r
 \r
 int AskCached(char *Path)\r
@@ -155,16 +155,16 @@ int AskCached(char *Path)
 }\r
 \r
 \r
-/*----- \96¢\8eg\97p\82Ì\83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\82ð\95Ô\82· ------------------------------------\r
+/*----- 未使用のキャッシュデータ番号を返す ------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              int \96¢\8eg\97p\82Ì\83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\r
+*              int 未使用のキャッシュデータ番号\r
 *\r
 *      Note\r
-*              \96¢\8eg\97p\82Ì\95¨\82ª\96³\82¢\8e\9e\82Í\81A\88ê\94Ô\8cÃ\82¢\82à\82Ì\82É\8fã\8f\91\82«\82·\82é\r
+*              未使用の物が無い時は、一番古いものに上書きする\r
 *----------------------------------------------------------------------------*/\r
 \r
 int AskFreeCache(void)\r
@@ -203,17 +203,17 @@ int AskFreeCache(void)
 }\r
 \r
 \r
-/*----- \83L\83\83\83b\83V\83\85\83f\81[\83^\82ð\83Z\83b\83g\82·\82é ------------------------------------------\r
+/*----- キャッシュデータをセットする ------------------------------------------\r
 *\r
 *      Parameter\r
-*              int Num : \83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\r
-*              char *Path : \83p\83X\96¼\r
+*              int Num : キャッシュデータ番号\r
+*              char *Path : パス名\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Note\r
-*              \8c»\8dÝ\90Ú\91±\92\86\82Ì\83z\83X\83g\96¼\82ð\8eg\97p\82·\82é\r
+*              現在接続中のホスト名を使用する\r
 *----------------------------------------------------------------------------*/\r
 \r
 void SetCache(int Num, char *Path)\r
@@ -229,13 +229,13 @@ void SetCache(int Num, char *Path)
 }\r
 \r
 \r
-/*----- \83L\83\83\83b\83V\83\85\83f\81[\83^\82ð\83N\83\8a\83A\82·\82é ------------------------------------------\r
+/*----- キャッシュデータをクリアする ------------------------------------------\r
 *\r
 *      Parameter\r
-*              int Num : \83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\r
+*              int Num : キャッシュデータ番号\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void ClearCache(int Num)\r
@@ -251,13 +251,13 @@ void ClearCache(int Num)
 }\r
 \r
 \r
-/*----- \8c»\8dÝ\95\\8e¦\92\86\82Ì\83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\82ð\95Ô\82· --------------------------------\r
+/*----- 現在表示中のキャッシュデータ番号を返す --------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              int \83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\r
+*              int キャッシュデータ番号\r
 *----------------------------------------------------------------------------*/\r
 \r
 int AskCurrentFileListNum(void)\r
@@ -266,13 +266,13 @@ int AskCurrentFileListNum(void)
 }\r
 \r
 \r
-/*----- \8c»\8dÝ\95\\8e¦\92\86\82Ì\83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\82ð\83Z\83b\83g\82·\82é --------------------------\r
+/*----- 現在表示中のキャッシュデータ番号をセットする --------------------------\r
 *\r
 *      Parameter\r
-*              int Num : \83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\r
+*              int Num : キャッシュデータ番号\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void SetCurrentFileListNum(int Num)\r
@@ -281,18 +281,18 @@ void SetCurrentFileListNum(int Num)
 }\r
 \r
 \r
-/*----- \83L\83\83\83b\83V\83\85\83f\81[\83^\82ð\95Û\91\82·\82é --------------------------------------------\r
+/*----- キャッシュデータを保存する --------------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Note\r
-*              \83L\83\83\83b\83V\83\85\83f\81[\83^\82»\82Ì\82à\82Ì\82Í\83t\83@\83C\83\8b\82É\82È\82Á\82Ä\82¢\82é\82Ì\82Å\81A\82±\82±\82Å\82Í\83C\83\93\83f\83b\83N\r
-*              \83X\83t\83@\83C\83\8b\82ð\8dì\90¬\82·\82é\81B\r
-*              \82Ü\82½\81A\95s\97v\82È\83t\83@\83C\83\8b\82Í\8dí\8f\9c\82·\82é\81B\r
+*              キャッシュデータそのものはファイルになっているので、ここではインデック\r
+*              スファイルを作成する。\r
+*              また、不要なファイルは削除する。\r
 *----------------------------------------------------------------------------*/\r
 \r
 void SaveCache(void)\r
@@ -302,7 +302,7 @@ void SaveCache(void)
        CACHELIST *Pos;\r
        int i;\r
 \r
-       if(ProgNum == 0)        /* \8dÅ\8f\89\82Ì\83C\83\93\83X\83^\83\93\83X\82¾\82¯\82ª\83L\83\83\83b\83V\83\85\82ð\95Û\91\82Å\82«\82é */\r
+       if(ProgNum == 0)        /* 最初のインスタンスだけがキャッシュを保存できる */\r
        {\r
                if(TmpCacheEntry > 0)\r
                {\r
@@ -335,13 +335,13 @@ void SaveCache(void)
 }\r
 \r
 \r
-/*----- \83L\83\83\83b\83V\83\85\83f\81[\83^\82ð\93Ç\82Ý\8d\9e\82Þ --------------------------------------------\r
+/*----- キャッシュデータを読み込む --------------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void LoadCache(void)\r
@@ -351,7 +351,7 @@ void LoadCache(void)
        CACHELIST *Pos;\r
        int Num;\r
 \r
-       if(ProgNum == 0)        /* \8dÅ\8f\89\82Ì\83C\83\93\83X\83^\83\93\83X\82¾\82¯\82ª\83L\83\83\83b\83V\83\85\82ð\95Û\91\82Å\82«\82é */\r
+       if(ProgNum == 0)        /* 最初のインスタンスだけがキャッシュを保存できる */\r
        {\r
                if(TmpCacheEntry > 0)\r
                {\r
@@ -383,13 +383,13 @@ void LoadCache(void)
 }\r
 \r
 \r
-/*----- \83L\83\83\83b\83V\83\85\83f\81[\83^\82ð\91S\82Ä\8dí\8f\9c\82·\82é ----------------------------------------\r
+/*----- キャッシュデータを全て削除する ----------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void DeleteCache(void)\r
@@ -421,14 +421,14 @@ void DeleteCache(void)
 }\r
 \r
 \r
-/*----- \83L\83\83\83b\83V\83\85\82Ì\83t\83@\83C\83\8b\96¼\82ð\8dì\90¬\82·\82é --------------------------------------\r
+/*----- キャッシュのファイル名を作成する --------------------------------------\r
 *\r
 *      Parameter\r
-*              int Num : \83L\83\83\83b\83V\83\85\83f\81[\83^\94Ô\8d\86\r
-*              char *Buf : \83t\83@\83C\83\8b\96¼\82ð\8ai\94[\82·\82é\83o\83b\83t\83@\r
+*              int Num : キャッシュデータ番号\r
+*              char *Buf : ファイル名を格納するバッファ\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *----------------------------------------------------------------------------*/\r
 \r
 void MakeCacheFileName(int Num, char *Buf)\r
@@ -449,16 +449,16 @@ void MakeCacheFileName(int Num, char *Buf)
 }\r
 \r
 \r
-/*----- \8bN\93®\82µ\82Ä\82¢\82éFFFTP\82Ì\90\94\82ð\90\94\82¦\82é ------------------------------------------\r
+/*----- 起動しているFFFTPの数を数える ------------------------------------------\r
 *\r
 *      Parameter\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Return Value\r
-*              \82È\82µ\r
+*              なし\r
 *\r
 *      Note\r
-*              \8cÂ\90\94\82ÍProgNum\82É\8ai\94[\82·\82é\r
+*              個数はProgNumに格納する\r
 *----------------------------------------------------------------------------*/\r
 \r
 void CountPrevFfftpWindows(void)\r
@@ -469,11 +469,11 @@ void CountPrevFfftpWindows(void)
 }\r
 \r
 \r
-/*----- \8bN\93®\82µ\82Ä\82¢\82éFFFTP\82Ì\90\94\82ð\90\94\82¦\82é\83R\81[\83\8b\83o\83b\83N-------------------------------\r
+/*----- 起動しているFFFTPの数を数えるコールバック-------------------------------\r
 *\r
 *      Parameter\r
-*              HWND hWnd : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-*              LPARAM lParam : \83p\83\89\83\81\81[\83^\r
+*              HWND hWnd : ウインドウハンドル\r
+*              LPARAM lParam : パラメータ\r
 *\r
 *      Return Value\r
 *              BOOL TRUE/FALSE\r