[ttssh2-commit] [10488] ブロードキャストコマンドの履歴のコマンド長上限をなくした

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 1月 15日 (日) 00:33:44 JST


Revision: 10488
          https://osdn.net/projects/ttssh2/scm/svn/commits/10488
Author:   zmatsuo
Date:     2023-01-15 00:33:43 +0900 (Sun, 15 Jan 2023)
Log Message:
-----------
ブロードキャストコマンドの履歴のコマンド長上限をなくした

- ドロップダウンに対して EM_LIMITTEXT は有効ではないようなので削除

Modified Paths:
--------------
    trunk/teraterm/teraterm/broadcast.cpp

-------------- next part --------------
Modified: trunk/teraterm/teraterm/broadcast.cpp
===================================================================
--- trunk/teraterm/teraterm/broadcast.cpp	2023-01-14 15:33:33 UTC (rev 10487)
+++ trunk/teraterm/teraterm/broadcast.cpp	2023-01-14 15:33:43 UTC (rev 10488)
@@ -34,6 +34,7 @@
 #include "ttwinman.h"
 #include "compat_win.h"
 #include "asprintf.h"
+#include "win32helper.h"
 
 #include <stdio.h>
 #define _CRTDBG_MAP_ALLOC
@@ -105,25 +106,27 @@
 
 static void ApplyBroadCastCommandHisotry(HWND Dialog, wchar_t *historyfile)
 {
-	wchar_t EntName[13];
-	wchar_t Command[HostNameMaxLength+1];
 	int i = 1;
 
 	SendDlgItemMessage(Dialog, IDC_COMMAND_EDIT, CB_RESETCONTENT, 0, 0);
 	do {
-		_snwprintf_s(EntName, _countof(EntName), _TRUNCATE, L"Command%d", i);
-		GetPrivateProfileStringW(L"BroadcastCommands",EntName, L"",
-								 Command, _countof(Command), historyfile);
-		if (Command[0] != 0) {
+		wchar_t *EntName;
+		wchar_t *Command;
+		aswprintf(&EntName, L"Command%d", i);
+		hGetPrivateProfileStringW(L"BroadcastCommands", EntName, L"", historyfile, &Command);
+		if (Command != NULL && Command[0] != 0) {
 			SendDlgItemMessageW(Dialog, IDC_COMMAND_EDIT, CB_ADDSTRING,
 								0, (LPARAM)Command);
 		}
+		else {
+			// \x8FI\x97\xB9
+			i = ts.MaxBroadcatHistory;
+		}
+		free(Command);
+		free(EntName);
 		i++;
-	} while ((i <= ts.MaxBroadcatHistory) && (Command[0] != 0));
+	} while (i <= ts.MaxBroadcatHistory);
 
-	SendDlgItemMessage(Dialog, IDC_COMMAND_EDIT, EM_LIMITTEXT,
-	                   HostNameMaxLength-1, 0);
-
 	SendDlgItemMessage(Dialog, IDC_COMMAND_EDIT, CB_SETCURSEL,0,0);
 }
 


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