[Ttssh2-commit] [8877] 不要変数削除、同一処理を関数化

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 8月 6日 (木) 00:06:14 JST


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);
 }
 
 /**


Ttssh2-commit メーリングリストの案内
Back to archive index