[Ttssh2-commit] [8053] ・non-fatalおよびfatal時のエラーメッセージを登録する際、同一メッセージがすでに

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2019年 8月 31日 (土) 20:07:20 JST


Revision: 8053
          https://osdn.net/projects/ttssh2/scm/svn/commits/8053
Author:   yutakapon
Date:     2019-08-31 20:07:20 +0900 (Sat, 31 Aug 2019)
Log Message:
-----------
・non-fatalおよびfatal時のエラーメッセージを登録する際、同一メッセージがすでに
登録されていた場合は追加しないようにした。ユーザに同じメッセージを何回見せても
意味がない(むしろ心証がよくない)。
・メモリ確保できない場合の処理を追加した。

Modified Paths:
--------------
    branches/ttssh_improved/ttssh2/ttxssh/ttxssh.c

-------------- next part --------------
Modified: branches/ttssh_improved/ttssh2/ttxssh/ttxssh.c
===================================================================
--- branches/ttssh_improved/ttssh2/ttxssh/ttxssh.c	2019-08-31 09:01:49 UTC (rev 8052)
+++ branches/ttssh_improved/ttssh2/ttxssh/ttxssh.c	2019-08-31 11:07:20 UTC (rev 8053)
@@ -889,12 +889,24 @@
 	            pvar->socket, MAKELPARAM(FD_CLOSE, 0));
 }
 
+// non-fatal\x82\xA8\x82\xE6\x82\xD1fatal\x8E\x9E\x82̃G\x83\x89\x81[\x83\x81\x83b\x83Z\x81[\x83W\x82\xF0\x8Ao\x82\xA6\x82Ă\xA8\x82\xAD\x81B
+// \x88\xEA\x93x\x81A\x8Ao\x82\xA6\x82\xBD\x83\x81\x83b\x83Z\x81[\x83W\x82\xAA\x82\xA0\x82\xEA\x82΁A\x89\xFC\x8Ds\x82\xF0\x8B\xB2\x82\xF1\x82Œlj\xC1\x82\xB5\x82Ă\xA2\x82\xAD\x81B
 static void add_err_msg(PTInstVar pvar, char *msg)
 {
 	if (pvar->err_msg != NULL) {
-		int buf_len = strlen(pvar->err_msg) + 3 + strlen(msg);
-		char *buf = (char *) malloc(buf_len);
+		int buf_len;
+		char *buf;
 
+		// \x82\xB7\x82łɓ\xAF\x82\xB6\x83\x81\x83b\x83Z\x81[\x83W\x82\xAA\x93o\x98^\x8Dς݂̏ꍇ\x82͒lj\xC1\x82\xB5\x82Ȃ\xA2\x81B
+		if (strstr(pvar->err_msg, msg)) 
+			return;
+		
+		buf_len = strlen(pvar->err_msg) + 3 + strlen(msg);
+		buf = malloc(buf_len);
+		// \x83\x81\x83\x82\x83\x8A\x82\xAA\x8Am\x95ۂł\xAB\x82Ȃ\xA2\x8Fꍇ\x82͉\xBD\x82\xE0\x82\xB5\x82Ȃ\xA2\x81B
+		if (buf == NULL) 
+			return;
+
 		strncpy_s(buf, buf_len, pvar->err_msg, _TRUNCATE);
 		strncat_s(buf, buf_len, "\n\n", _TRUNCATE);
 		strncat_s(buf, buf_len, msg, _TRUNCATE);
@@ -901,6 +913,7 @@
 		free(pvar->err_msg);
 		pvar->err_msg = buf;
 	} else {
+		// \x83\x81\x83\x82\x83\x8A\x82\xAA\x8Am\x95ۂł\xAB\x82Ȃ\xA2\x8Fꍇ\x82́A_strdup()\x82\xCDNULL\x82\xF0\x95Ԃ\xB7\x81B
 		pvar->err_msg = _strdup(msg);
 	}
 }


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