Revision: 8910 https://osdn.net/projects/ttssh2/scm/svn/commits/8910 Author: zmatsuo Date: 2020-08-19 00:32:07 +0900 (Wed, 19 Aug 2020) Log Message: ----------- タイムスタンプがうまく出なかったので修正 Modified Paths: -------------- trunk/teraterm/teraterm/filesys_log.cpp trunk/teraterm/teraterm/filesys_log.h trunk/teraterm/teraterm/vtterm.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/filesys_log.cpp =================================================================== --- trunk/teraterm/teraterm/filesys_log.cpp 2020-08-18 15:31:59 UTC (rev 8909) +++ trunk/teraterm/teraterm/filesys_log.cpp 2020-08-18 15:32:07 UTC (rev 8910) @@ -920,7 +920,7 @@ logfile_unlock(); } -static char *TimeStampStr() +static wchar_t *TimeStampStr() { char *strtime = NULL; switch (ts.LogTimestampType) { @@ -945,8 +945,7 @@ strncat_s(tmp, sizeof(tmp), strtime, _TRUNCATE); strncat_s(tmp, sizeof(tmp), "] ", _TRUNCATE); - return strdup(tmp); -// return ToWcharA(tmp); + return ToWcharA(tmp); } /** @@ -957,7 +956,6 @@ PCHAR Buf; int Start, Count; BYTE b; - PFileVar fv = LogVar; if (FileLog) { @@ -994,23 +992,6 @@ WriteBuf = (PCHAR)realloc(WriteBuf, WriteBufMax); } - // add time stamp string - if ( ts.LogTimestamp && fv->eLineEnd ) { - char *strtime = TimeStampStr(); - size_t len = strlen(strtime); - memcpy(&WriteBuf[WriteBufLen], strtime, len); - free(strtime); - WriteBufLen += len; - } - - /* 2007.05.24 Gentaro */ - if( b == 0x0a ){ - fv->eLineEnd = Line_LineHead; /* set endmark*/ - } - else { - fv->eLineEnd = Line_Other; /* clear endmark*/ - } - WriteBuf[WriteBufLen++] = b; (LogVar->ByteCount)++; @@ -1280,17 +1261,6 @@ void FLogWriteStr(const wchar_t *str) { if (LogVar != NULL) { -#if 0 - DWORD wrote; - size_t len = wcslen(str) * sizeof(wchar_t); - logfile_lock(); - WriteFile(LogVar->FileHandle, str, len, &wrote, NULL); - LogVar->eLineEnd = Line_LineHead; - logfile_unlock(); - LogVar->ByteCount = - LogVar->ByteCount + len; - LogVar->FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount); -#endif OutputStr(str); } } @@ -1508,8 +1478,6 @@ if (BinLog) { LogToFile(); } -// GlobalUnlock(cv_HBinBuf); -// cv_BinBuf = NULL; } } @@ -1524,6 +1492,13 @@ return; } + if (ts.LogTimestamp && fv->eLineEnd) { + fv->eLineEnd = Line_Other; /* clear endmark*/ + wchar_t* strtime = TimeStampStr(); + FLogWriteStr(strtime); + free(strtime); + } + switch(fv->log_code) { case 0: { // UTF-8 @@ -1555,29 +1530,39 @@ } } } + + if (u32 == 0x0a) { + fv->eLineEnd = Line_LineHead; /* set endmark*/ + } } void FLogOutputBOM(void) { PFileVar fv = LogVar; + DWORD wrote; switch(fv->log_code) { - case 0: + case 0: { // UTF-8 - LogPut1(0xef); - LogPut1(0xbb); - LogPut1(0xbf); + const char *bom = "\xef\xbb\xbf"; + WriteFile(LogVar->FileHandle, bom, 3, &wrote, NULL); + LogVar->ByteCount += 3; break; - case 1: + } + case 1: { // UTF-16LE - LogPut1(0xff); - LogPut1(0xfe); + const char *bom = "\xff\xfe"; + WriteFile(LogVar->FileHandle, bom, 2, &wrote, NULL); + LogVar->ByteCount += 2; break; - case 2: + } + case 2: { // UTF-16BE - LogPut1(0xfe); - LogPut1(0xff); + const char *bom = "\xfe\xff"; + WriteFile(LogVar->FileHandle, bom, 2, &wrote, NULL); + LogVar->ByteCount += 2; break; + } default: break; } Modified: trunk/teraterm/teraterm/filesys_log.h =================================================================== --- trunk/teraterm/teraterm/filesys_log.h 2020-08-18 15:31:59 UTC (rev 8909) +++ trunk/teraterm/teraterm/filesys_log.h 2020-08-18 15:32:07 UTC (rev 8910) @@ -33,6 +33,12 @@ extern "C" { #endif +/** + * \x83\x8D\x83O\x83o\x83b\x83t\x83@\x82̍Œ\xE1\x8BT\x83C\x83Y + * "[YYYY-MM-DD HH:MM:SS.000]" \x82̕\xB6\x8E\x9A\x82\xAA\x93\xFC\x82\xE9\x92\xF6\x93x + */ +#define FILESYS_LOG_FREE_SPACE (30*2) + // log typedef struct { wchar_t *filename; // [in] \x83t\x83@\x83C\x83\x8B\x96\xBC\x8F\x89\x8A\xFA\x92l(NULL=default) [out] \x93\xFC\x97̓t\x83@\x83C\x83\x8B\x96\xBC\x81Afree()\x82\xB7\x82邱\x82\xC6 Modified: trunk/teraterm/teraterm/vtterm.c =================================================================== --- trunk/teraterm/teraterm/vtterm.c 2020-08-18 15:31:59 UTC (rev 8909) +++ trunk/teraterm/teraterm/vtterm.c 2020-08-18 15:32:07 UTC (rev 8910) @@ -6367,7 +6367,7 @@ return 0; } - if (FLogIsOpend() && FLogGetFreeCount() < 10) { + if (FLogIsOpend() && FLogGetFreeCount() < FILESYS_LOG_FREE_SPACE) { // \x8E\xA9\x95\xAA\x82̃o\x83b\x83t\x83@\x82ɗ]\x97T\x82\xAA\x82Ȃ\xA2\x8Fꍇ\x82́ACPU\x83X\x83P\x83W\x83\x85\x81[\x83\x8A\x83\x93\x83O\x82𑼂ɉA // CPU\x82\xAA\x83X\x83g\x81[\x83\x8B\x82\xB7\x82\xE9\x82̖h\x82\xAE\x81B // (2006.10.13 yutaka)