Revision: 8877 https://osdn.net/projects/ttssh2/scm/svn/commits/8877 Author: zmatsuo Date: 2020-08-06 00:06:14 +0900 (Thu, 06 Aug 2020) Log Message: ----------- 不要変数削除、同一処理を関数化 Modified Paths: -------------- branches/filesys_log/teraterm/teraterm/filesys_log.cpp -------------- next part -------------- Modified: branches/filesys_log/teraterm/teraterm/filesys_log.cpp =================================================================== --- branches/filesys_log/teraterm/teraterm/filesys_log.cpp 2020-08-05 15:06:06 UTC (rev 8876) +++ branches/filesys_log/teraterm/teraterm/filesys_log.cpp 2020-08-05 15:06:14 UTC (rev 8877) @@ -59,26 +59,39 @@ #include "filesys_log_res.h" #include "filesys_log.h" +/* + Line Head flag for timestamping + 2007.05.24 Gentaro +*/ +enum enumLineEnd { + Line_Other = 0, + Line_LineHead = 1, + Line_FileHead = 2, +}; + typedef struct { - wchar_t *FullName; - wchar_t *FileName; + wchar_t *FullName; + wchar_t *FileName; - BOOL FileOpen; - HANDLE FileHandle; - LONG FileSize, ByteCount; + HANDLE FileHandle; + LONG FileSize, ByteCount; - DWORD StartTime; + DWORD StartTime; - // log rotate - int RotateMode; // enum rotate_mode RotateMode; - LONG RotateSize; - int RotateStep; + enum enumLineEnd eLineEnd; - HANDLE LogThread; - DWORD LogThreadId; - HANDLE LogThreadEvent; + // log rotate + int RotateMode; // enum rotate_mode RotateMode; + LONG RotateSize; + int RotateStep; - BOOL IsPause; + HANDLE LogThread; + DWORD LogThreadId; + HANDLE LogThreadEvent; + + BOOL IsPause; + + PFileTransDlg FLogDlg; } TFileVar_; typedef TFileVar_ *PFileVar_; @@ -90,19 +103,6 @@ static BOOL FileLog = FALSE; static BOOL BinLog = FALSE; -/* - Line Head flag for timestamping - 2007.05.24 Gentaro -*/ -enum enumLineEnd { - Line_Other = 0, - Line_LineHead = 1, - Line_FileHead = 2, -}; - -static enum enumLineEnd eLineEnd = Line_LineHead; - - // \x92x\x89\x84\x8F\x91\x82\xAB\x8D\x9E\x82ݗp\x83X\x83\x8C\x83b\x83h\x82̃\x81\x83b\x83Z\x81[\x83W #define WM_DPC_LOGTHREAD_SEND (WM_APP + 1) @@ -112,7 +112,6 @@ static BOOL CreateLogBuf(void); static BOOL CreateBinBuf(void); -static PFileTransDlg FLogDlg = NULL; static BOOL OpenFTDlg_(PFileVar fv) { @@ -138,7 +137,7 @@ FTDlg->Create(hInst, &info); FTDlg->RefreshNum(0, fv->FileSize, fv->ByteCount); - FLogDlg = FTDlg; + fv->FLogDlg = FTDlg; free(DlgCaption); return TRUE; @@ -222,8 +221,9 @@ { BOOL ret; - if (!ptr->FileOpen) + if (ptr->FileHandle == INVALID_HANDLE_VALUE) { return; + } if (ptr->LogThread != INVALID_HANDLE_VALUE) { // \x83X\x83\x8C\x83b\x83h\x82̏I\x97\xB9\x91҂\xBF @@ -239,6 +239,7 @@ ptr->LogThread = INVALID_HANDLE_VALUE; } CloseHandle(ptr->FileHandle); + ptr->FileHandle = INVALID_HANDLE_VALUE; } // \x92x\x89\x84\x8F\x91\x82\xAB\x8D\x9E\x82ݗp\x83X\x83\x8C\x83b\x83h @@ -277,6 +278,27 @@ return (0); } +// \x92x\x89\x84\x8F\x91\x82\xAB\x8D\x9E\x82ݗp\x83X\x83\x8C\x83b\x83h\x82\xF0\x8BN\x82\xB1\x82\xB7\x81B +// (2013.4.19 yutaka) +// DeferredLogWriteThread \x83X\x83\x8C\x83b\x83h\x82\xAA\x8BN\x8F\xB0\x82\xB5\x82āA\x83X\x83\x8C\x83b\x83h\x83L\x83\x85\x81[\x82\xAA\x8D쐬\x82\xB3\x82\xEA\x82\xE9\x82\xE6\x82\xE8\x91O\x82ɁA +// \x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82̃N\x83\x8D\x81[\x83Y(CloseFileSync)\x82\xAA\x8Ds\x82\xED\x82\xEA\x82\xE9\x82ƁA\x83G\x83\x93\x83L\x83\x85\x81[\x82\xAA\x8E\xB8\x94s\x82\xB5\x81A\x83f\x83b\x83h\x83\x8D\x83b\x83N +// \x82\xB7\x82\xE9\x82Ƃ\xA2\x82\xA4\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B +// \x83X\x83\x8C\x83b\x83h\x8AԂ̓\xAF\x8A\xFA\x82\xF0\x8Ds\x82\xA4\x82\xBD\x82߁A\x96\xBC\x91O\x82Ȃ\xB5\x83C\x83x\x83\x93\x83g\x83I\x83u\x83W\x83F\x83N\x83g\x82\xF0\x8Eg\x82\xC1\x82āA\x83X\x83\x8C\x83b\x83h\x83L\x83\x85\x81[\x82\xCC +// \x8D쐬\x82܂ő҂\xBF\x8D\x87\x82킹\x82\xB7\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B\x96\xBC\x91O\x95t\x82\xAB\x83C\x83x\x83\x93\x83g\x83I\x83u\x83W\x83F\x83N\x83g\x82\xF0\x8Eg\x82\xA4\x8Fꍇ\x82́A +// \x83V\x83X\x83e\x83\x80(Windows OS)\x8F\xE3\x82Ń\x86\x83j\x81[\x83N\x82Ȗ\xBC\x91O\x82ɂ\xB7\x82\xE9\x95K\x97v\x82\xAA\x82\xA0\x82\xE9\x81B +// (2016.9.23 yutaka) +static void StartThread(PFileVar fv) +{ + unsigned tid; + fv->LogThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL); + fv->LogThread = (HANDLE)_beginthreadex(NULL, 0, DeferredLogWriteThread, fv, 0, &tid); + fv->LogThreadId = tid; + if (fv->LogThreadEvent != NULL) { + WaitForSingleObject(fv->LogThreadEvent, INFINITE); + CloseHandle(fv->LogThreadEvent); + } +} + /** * \x83_\x83C\x83A\x83\x8D\x83O\x82̓\xE0\x97e\x82\xF0 ts \x82ɏ\x91\x82\xAB\x96߂\xB5 * @@ -643,13 +665,22 @@ return FALSE; } +static void OpenLogFile(PFileVar fv) +{ + int dwShareMode = FILE_SHARE_READ; + if (!ts.LogLockExclusive) { + dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; + } + LogVar->FileHandle = _CreateFileW(LogVar->FullName, GENERIC_WRITE, dwShareMode, NULL, + OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); +} + static BOOL LogStart(const wchar_t *fname) { - unsigned tid; + PFileVar fv = LogVar; - LogVar->FullName = _wcsdup(fname); + fv->FullName = _wcsdup(fname); - PFileVar fv = LogVar; wchar_t *p = wcsrchr(fv->FullName, L'\\'); if (p == NULL) { p = wcsrchr(fv->FullName, L'/'); @@ -658,7 +689,7 @@ fv->FileName = _wcsdup(fv->FullName); } else { - fv->FileName = _wcsdup(p++); + fv->FileName = _wcsdup(p + 1); } FixLogOption(); @@ -668,7 +699,6 @@ FileLog = FALSE; if (! CreateBinBuf()) { - FileTransEnd_(); return FALSE; } } @@ -677,7 +707,6 @@ FileLog = TRUE; if (! CreateLogBuf()) { - FileTransEnd_(); return FALSE; } } @@ -684,41 +713,22 @@ cv.LStart = cv.LogPtr; cv.LCount = 0; + OpenLogFile(fv); + if (LogVar->FileHandle == INVALID_HANDLE_VALUE) { + return FALSE; + } + /* 2007.05.24 Gentaro */ - eLineEnd = Line_LineHead; - + fv->eLineEnd = Line_LineHead; if (ts.Append > 0) { - int dwShareMode = FILE_SHARE_READ; - if (!ts.LogLockExclusive) { - dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; - } - LogVar->FileHandle = _CreateFileW(LogVar->FullName, GENERIC_WRITE, dwShareMode, NULL, - OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - if (LogVar->FileHandle != INVALID_HANDLE_VALUE){ - SetFilePointer(LogVar->FileHandle, 0, NULL, FILE_END); - /* 2007.05.24 Gentaro - If log file already exists, - a newline is inserted before the first timestamp. - */ - eLineEnd = Line_FileHead; - } + SetFilePointer(LogVar->FileHandle, 0, NULL, FILE_END); + /* 2007.05.24 Gentaro + If log file already exists, + a newline is inserted before the first timestamp. + */ + fv->eLineEnd = Line_FileHead; } - else { - int dwShareMode = FILE_SHARE_READ; - if (!ts.LogLockExclusive) { - dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; - } - LogVar->FileHandle = _CreateFileW(LogVar->FullName, GENERIC_WRITE, dwShareMode, NULL, - CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - } - LogVar->FileOpen = (LogVar->FileHandle != INVALID_HANDLE_VALUE); - if (! LogVar->FileOpen) - { - FileTransEnd_(); - return FALSE; - } - LogVar->ByteCount = 0; // Log rotate configuration LogVar->RotateMode = ts.LogRotate; @@ -730,12 +740,16 @@ // (2016.4.9 yutaka) if (LogVar->RotateMode != ROTATE_NONE) { DWORD size = GetFileSize(LogVar->FileHandle, NULL); - if (size != -1) - LogVar->ByteCount = size; + if (size == -1) { + return FALSE; + } + LogVar->ByteCount = size; } + else { + LogVar->ByteCount = 0; + } if (! OpenFTDlg_(LogVar)) { - FileTransEnd_(); return FALSE; } @@ -742,21 +756,8 @@ LogVar->IsPause = FALSE; LogVar->StartTime = GetTickCount(); - // \x92x\x89\x84\x8F\x91\x82\xAB\x8D\x9E\x82ݗp\x83X\x83\x8C\x83b\x83h\x82\xF0\x8BN\x82\xB1\x82\xB7\x81B - // (2013.4.19 yutaka) - // DeferredLogWriteThread \x83X\x83\x8C\x83b\x83h\x82\xAA\x8BN\x8F\xB0\x82\xB5\x82āA\x83X\x83\x8C\x83b\x83h\x83L\x83\x85\x81[\x82\xAA\x8D쐬\x82\xB3\x82\xEA\x82\xE9\x82\xE6\x82\xE8\x91O\x82ɁA - // \x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82̃N\x83\x8D\x81[\x83Y(CloseFileSync)\x82\xAA\x8Ds\x82\xED\x82\xEA\x82\xE9\x82ƁA\x83G\x83\x93\x83L\x83\x85\x81[\x82\xAA\x8E\xB8\x94s\x82\xB5\x81A\x83f\x83b\x83h\x83\x8D\x83b\x83N - // \x82\xB7\x82\xE9\x82Ƃ\xA2\x82\xA4\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B - // \x83X\x83\x8C\x83b\x83h\x8AԂ̓\xAF\x8A\xFA\x82\xF0\x8Ds\x82\xA4\x82\xBD\x82߁A\x96\xBC\x91O\x82Ȃ\xB5\x83C\x83x\x83\x93\x83g\x83I\x83u\x83W\x83F\x83N\x83g\x82\xF0\x8Eg\x82\xC1\x82āA\x83X\x83\x8C\x83b\x83h\x83L\x83\x85\x81[\x82\xCC - // \x8D쐬\x82܂ő҂\xBF\x8D\x87\x82킹\x82\xB7\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B\x96\xBC\x91O\x95t\x82\xAB\x83C\x83x\x83\x93\x83g\x83I\x83u\x83W\x83F\x83N\x83g\x82\xF0\x8Eg\x82\xA4\x8Fꍇ\x82́A - // \x83V\x83X\x83e\x83\x80(Windows OS)\x8F\xE3\x82Ń\x86\x83j\x81[\x83N\x82Ȗ\xBC\x91O\x82ɂ\xB7\x82\xE9\x95K\x97v\x82\xAA\x82\xA0\x82\xE9\x81B - // (2016.9.23 yutaka) - LogVar->LogThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - LogVar->LogThread = (HANDLE)_beginthreadex(NULL, 0, DeferredLogWriteThread, LogVar, 0, &tid); - LogVar->LogThreadId = tid; - if (LogVar->LogThreadEvent != NULL) { - WaitForSingleObject(LogVar->LogThreadEvent, INFINITE); - CloseHandle(LogVar->LogThreadEvent); + if (ts.DeferredLogWriteMode) { + StartThread(LogVar); } // \x8C\xBB\x8D݃o\x83b\x83t\x83@\x82ɂ\xA0\x82\xE9\x83f\x81[\x83^\x82\xF0\x82\xB7\x82ׂď\x91\x82\xAB\x8Fo\x82\xB5\x82Ă\xA9\x82\xE7\x81A @@ -863,7 +864,7 @@ { DWORD wrote; - if (LogVar == NULL || !LogVar->FileOpen) { + if (LogVar == NULL) { char uimsg[MAX_UIMSG]; get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile); get_lang_msg("MSG_COMMENT_LOG_OPEN_ERROR", ts.UIMsg, sizeof(ts.UIMsg), @@ -878,7 +879,7 @@ /* Set Line End Flag 2007.05.24 Gentaro */ - eLineEnd = Line_LineHead; + LogVar->eLineEnd = Line_LineHead; logfile_unlock(); } @@ -888,11 +889,7 @@ { int loopmax = 10000; // XXX int i, k; - int dwShareMode = FILE_SHARE_READ; - unsigned tid; - if (! LogVar->FileOpen) return; - if (LogVar->RotateMode == ROTATE_NONE) return; @@ -910,7 +907,6 @@ // \x82\xA2\x82\xC1\x82\xBD\x82̃t\x83@\x83C\x83\x8B\x82\xF0\x83N\x83\x8D\x81[\x83Y\x82\xB5\x82āA\x95ʖ\xBC\x82̃t\x83@\x83C\x83\x8B\x82\xF0\x83I\x81[\x83v\x83\x93\x82\xB7\x82\xE9\x81B CloseFileSync(LogVar); - //_lclose(LogVar->FileHandle); // \x90\xA2\x91ネ\x81[\x83e\x81[\x83V\x83\x87\x83\x93\x82̃X\x83e\x83b\x83v\x90\x94\x82̎w\x92肪\x82\xA0\x82邩 if (LogVar->RotateStep > 0) @@ -921,7 +917,7 @@ aswprintf(&filename, L"%s.%d", LogVar->FullName, i); DWORD attr = _GetFileAttributesW(filename); free(filename); - if ((attr != INVALID_FILE_ATTRIBUTES) && ((attr & FILE_ATTRIBUTE_DIRECTORY) == 0)) + if (attr == INVALID_FILE_ATTRIBUTES) break; } if (i > loopmax) { @@ -947,31 +943,12 @@ } // \x8DăI\x81[\x83v\x83\x93 - if (!ts.LogLockExclusive) { - dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; + OpenLogFile(LogVar); + if (ts.DeferredLogWriteMode) { + StartThread(LogVar); } - LogVar->FileHandle = _CreateFileW(LogVar->FullName, GENERIC_WRITE, dwShareMode, NULL, - CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - // \x92x\x89\x84\x8F\x91\x82\xAB\x8D\x9E\x82ݗp\x83X\x83\x8C\x83b\x83h\x82\xF0\x8BN\x82\xB1\x82\xB7\x81B - // (2013.4.19 yutaka) - // DeferredLogWriteThread \x83X\x83\x8C\x83b\x83h\x82\xAA\x8BN\x8F\xB0\x82\xB5\x82āA\x83X\x83\x8C\x83b\x83h\x83L\x83\x85\x81[\x82\xAA\x8D쐬\x82\xB3\x82\xEA\x82\xE9\x82\xE6\x82\xE8\x91O\x82ɁA - // \x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82̃N\x83\x8D\x81[\x83Y(CloseFileSync)\x82\xAA\x8Ds\x82\xED\x82\xEA\x82\xE9\x82ƁA\x83G\x83\x93\x83L\x83\x85\x81[\x82\xAA\x8E\xB8\x94s\x82\xB5\x81A\x83f\x83b\x83h\x83\x8D\x83b\x83N - // \x82\xB7\x82\xE9\x82Ƃ\xA2\x82\xA4\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B - // \x83X\x83\x8C\x83b\x83h\x8AԂ̓\xAF\x8A\xFA\x82\xF0\x8Ds\x82\xA4\x82\xBD\x82߁A\x96\xBC\x91O\x82Ȃ\xB5\x83C\x83x\x83\x93\x83g\x83I\x83u\x83W\x83F\x83N\x83g\x82\xF0\x8Eg\x82\xC1\x82āA\x83X\x83\x8C\x83b\x83h\x83L\x83\x85\x81[\x82\xCC - // \x8D쐬\x82܂ő҂\xBF\x8D\x87\x82킹\x82\xB7\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B\x96\xBC\x91O\x95t\x82\xAB\x83C\x83x\x83\x93\x83g\x83I\x83u\x83W\x83F\x83N\x83g\x82\xF0\x8Eg\x82\xA4\x8Fꍇ\x82́A - // \x83V\x83X\x83e\x83\x80(Windows OS)\x8F\xE3\x82Ń\x86\x83j\x81[\x83N\x82Ȗ\xBC\x91O\x82ɂ\xB7\x82\xE9\x95K\x97v\x82\xAA\x82\xA0\x82\xE9\x81B - // (2016.9.26 yutaka) - LogVar->LogThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - LogVar->LogThread = (HANDLE)_beginthreadex(NULL, 0, DeferredLogWriteThread, LogVar, 0, &tid); - LogVar->LogThreadId = tid; - if (LogVar->LogThreadEvent != NULL) { - WaitForSingleObject(LogVar->LogThreadEvent, INFINITE); - CloseHandle(LogVar->LogThreadEvent); - } - logfile_unlock(); - } /** @@ -986,8 +963,8 @@ DWORD WriteBufMax, WriteBufLen; CHAR tmp[128]; DWORD wrote; + PFileVar fv = LogVar; - if (! LogVar->FileOpen) return; if (FileLog) { Buf = cv.LogBuf; @@ -1017,7 +994,7 @@ if (!FLogIsPause() && (! cv.ProtoFlag)) { tmp[0] = 0; - if ( ts.LogTimestamp && eLineEnd ) { + if ( ts.LogTimestamp && fv->eLineEnd ) { char *strtime = NULL; switch (ts.LogTimestampType) { @@ -1036,7 +1013,7 @@ } /* 2007.05.24 Gentaro */ - if( eLineEnd == Line_FileHead ){ + if(fv->eLineEnd == Line_FileHead ){ strncat_s(tmp, sizeof(tmp), "\r\n", _TRUNCATE); } strncat_s(tmp, sizeof(tmp), "[", _TRUNCATE); @@ -1046,10 +1023,10 @@ /* 2007.05.24 Gentaro */ if( b == 0x0a ){ - eLineEnd = Line_LineHead; /* set endmark*/ + fv->eLineEnd = Line_LineHead; /* set endmark*/ } else { - eLineEnd = Line_Other; /* clear endmark*/ + fv->eLineEnd = Line_Other; /* clear endmark*/ } if (WriteBufLen >= (WriteBufMax*4/5)) { @@ -1072,7 +1049,7 @@ { if (!FLogIsPause() && (! cv.ProtoFlag)) { - if ( ts.LogTimestamp && eLineEnd ) { + if ( ts.LogTimestamp && fv->eLineEnd ) { char *strtime = NULL; switch (ts.LogTimestampType) { @@ -1096,10 +1073,10 @@ /* 2007.05.24 Gentaro */ if( b == 0x0a ){ - eLineEnd = Line_LineHead; /* set endmark*/ + fv->eLineEnd = Line_LineHead; /* set endmark*/ } else { - eLineEnd = Line_Other; /* clear endmark*/ + fv->eLineEnd = Line_Other; /* clear endmark*/ } WriteFile(LogVar->FileHandle, (PCHAR)&b, 1, &wrote, NULL); @@ -1121,13 +1098,11 @@ cv.BCount = Count; } if (FLogIsPause() || cv.ProtoFlag) return; - if (FLogDlg!=NULL) - FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount); + LogVar->FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount); // \x83\x8D\x83O\x81E\x83\x8D\x81[\x83e\x81[\x83g LogRotate(); - } static BOOL CreateLogBuf(void) @@ -1194,8 +1169,8 @@ cv.Log1Byte = NULL; cv.Log1Bin = NULL; cv.LogBinSkip = NULL; - if (FLogDlg!=NULL) - { + PFileTransDlg FLogDlg = LogVar->FLogDlg; + if (FLogDlg != NULL) { FLogDlg->DestroyWindow(); FLogDlg = NULL; } @@ -1215,7 +1190,7 @@ return; } LogVar->IsPause = Pause; - FLogDlg->ChangeButton(Pause); + LogVar->FLogDlg->ChangeButton(Pause); } /** @@ -1263,7 +1238,6 @@ { 0, "DLG_COMMENT_TITLE" }, { IDOK, "BTN_OK" } }; - char buf[256]; UINT ret; switch (msg) { @@ -1276,7 +1250,8 @@ case WM_COMMAND: switch (LOWORD(wp)) { - case IDOK: + case IDOK: { + char buf[256]; memset(buf, 0, sizeof(buf)); ret = GetDlgItemTextA(hDlgWnd, IDC_EDIT_COMMENT, buf, sizeof(buf) - 1); if (ret > 0) { // \x83e\x83L\x83X\x83g\x8E擾\x90\xAC\x8C\xF7 @@ -1285,6 +1260,7 @@ } TTEndDialog(hDlgWnd, IDOK); break; + } default: return FALSE; } @@ -1339,16 +1315,20 @@ } LogVar = fv; memset(fv, 0, sizeof(TFileVar)); + fv->FileHandle = INVALID_HANDLE_VALUE; + fv->LogThread = INVALID_HANDLE_VALUE; + fv->eLineEnd = Line_LineHead; - fv->FileOpen = FALSE; + ret = LogStart(fname); + if (ret == FALSE) { + FileTransEnd_(); + } - ret = LogStart(fname); return ret; } BOOL FLogIsOpend(void) { - // LogVar->FileOpen return LogVar != NULL; } @@ -1361,8 +1341,7 @@ WriteFile(LogVar->FileHandle, str, len, &wrote, NULL); LogVar->ByteCount = LogVar->ByteCount + len; - if (FLogDlg!=NULL) - FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount); + LogVar->FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount); } } @@ -1480,10 +1459,8 @@ if (LogVar == NULL) { return; } - if (FLogDlg == NULL) - return; - HWND HWndLog = FLogDlg->m_hWnd; + HWND HWndLog = LogVar->FLogDlg->m_hWnd; ShowWindow(HWndLog, nCmdShow); if (nCmdShow == SW_RESTORE) { // \x8Ag\x92\xA3\x83X\x83^\x83C\x83\x8B WS_EX_NOACTIVATE \x8F\xF3\x91Ԃ\xF0\x89\xF0\x8F\x9C\x82\xB7\x82\xE9 @@ -1496,10 +1473,9 @@ if (LogVar == NULL) { return; } - if (FLogDlg != NULL) { - FLogDlg->ShowWindow(SW_SHOWNORMAL); - SetForegroundWindow(FLogDlg->GetSafeHwnd()); - } + HWND HWndLog = LogVar->FLogDlg->m_hWnd; + ShowWindow(HWndLog, SW_SHOWNORMAL); + SetForegroundWindow(HWndLog); } /**