[ttssh2-commit] [9431] plugin CopySerialList() を Unicode化

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2021年 9月 20日 (月) 00:14:17 JST


Revision: 9431
          https://osdn.net/projects/ttssh2/scm/svn/commits/9431
Author:   zmatsuo
Date:     2021-09-20 00:14:16 +0900 (Mon, 20 Sep 2021)
Log Message:
-----------
plugin CopySerialList() を Unicode化

- 指定したセクションのキーをiniファイルにコピーする
- CopyHostList()

Modified Paths:
--------------
    trunk/teraterm/teraterm/ttsetup.h
    trunk/teraterm/teraterm/vtwin.cpp
    trunk/teraterm/ttpset/ttset.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/ttsetup.h
===================================================================
--- trunk/teraterm/teraterm/ttsetup.h	2021-09-19 15:14:05 UTC (rev 9430)
+++ trunk/teraterm/teraterm/ttsetup.h	2021-09-19 15:14:16 UTC (rev 9431)
@@ -46,14 +46,14 @@
 typedef void (PASCAL *PWriteIniFile)(const wchar_t *FName, PTTSet ts);
 //typedef void (PASCAL *PReadKeyboardCnf)(PCHAR FName, PKeyMap KeyMap, BOOL ShowWarning);
 typedef void (PASCAL *PReadKeyboardCnf)(const wchar_t *FName, PKeyMap KeyMap, BOOL ShowWarning);
-typedef void (PASCAL *PCopyHostList)
-  (PCHAR IniSrc, PCHAR IniDest);
+//typedef void (PASCAL *PCopyHostList)(PCHAR IniSrc, PCHAR IniDest);
+typedef void (PASCAL *PCopyHostList)(const wchar_t *IniSrc, const wchar_t *IniDest);
 typedef void (PASCAL *PAddHostToList)
   (PCHAR FName, PCHAR Host);
 typedef void (PASCAL *PParseParam)
   (PCHAR Param, PTTSet ts, PCHAR DDETopic);
-typedef void (PASCAL *PCopySerialList)
-  (PCHAR IniSrc, PCHAR IniDest, PCHAR section, PCHAR key, int MaxList);
+//typedef void (PASCAL *PCopySerialList)(PCHAR IniSrc, PCHAR IniDest, PCHAR section, PCHAR key, int MaxList);
+typedef void (PASCAL *PCopySerialList)(const wchar_t *IniSrc, const wchar_t *IniDest, const wchar_t *section, const wchar_t *key, int MaxList);
 typedef void (PASCAL *PAddValueToList)
   (PCHAR FName, PCHAR Host, PCHAR section, PCHAR key, int MaxList);
 

Modified: trunk/teraterm/teraterm/vtwin.cpp
===================================================================
--- trunk/teraterm/teraterm/vtwin.cpp	2021-09-19 15:14:05 UTC (rev 9430)
+++ trunk/teraterm/teraterm/vtwin.cpp	2021-09-19 15:14:16 UTC (rev 9431)
@@ -4728,9 +4728,7 @@
 		/* write current setup values to file */
 		(*WriteIniFile)(ts.SetupFNameW, &ts);
 		/* copy host list */
-		char * PrevSetupFN = ToCharW(PrevSetupFNW);
-		(*CopyHostList)(PrevSetupFN, ts.SetupFName);
-		free(PrevSetupFN);
+		(*CopyHostList)(PrevSetupFNW, ts.SetupFNameW);
 		FreeTTSET();
 		free(PrevSetupFNW);
 		PrevSetupFNW = NULL;

Modified: trunk/teraterm/ttpset/ttset.c
===================================================================
--- trunk/teraterm/ttpset/ttset.c	2021-09-19 15:14:05 UTC (rev 9430)
+++ trunk/teraterm/ttpset/ttset.c	2021-09-19 15:14:16 UTC (rev 9431)
@@ -3593,41 +3593,29 @@
 	WriteInt(Section, "UnicodeEmojiWidth", FName, ts->UnicodeEmojiWidth);
 }
 
-void PASCAL CopySerialList(PCHAR IniSrcA, PCHAR IniDestA, PCHAR section,
-                               PCHAR key, int MaxList)
+void PASCAL CopySerialList(const wchar_t *IniSrc, const wchar_t *IniDest, const wchar_t *section,
+						   const wchar_t *key, int MaxList)
 {
 	int i, j;
-	char EntName[10], EntName2[10];
-	char TempHost[HostNameMaxLength + 1];
-#if	INI_FILE_IS_UNICODE
-	const wchar_t *IniSrc = ToWcharA(IniSrcA);
-	const wchar_t *IniDest = ToWcharA(IniDestA);
-#else
-	const char *IniSrc = IniSrcA;
-	const char *IniDest = IniDestA;
-#endif
+	wchar_t EntName[10], EntName2[10];
+	wchar_t TempHost[HostNameMaxLength + 1];
 
-#if	INI_FILE_IS_UNICODE
 	if (_wcsicmp(IniSrc, IniDest) == 0)
 		return;
-#else
-	if (_stricmp(IniSrc, IniDest) == 0)
-		return;
-#endif
 
-	WritePrivateProfileString(section, NULL, NULL, IniDest);
+	WritePrivateProfileStringW(section, NULL, NULL, IniDest);
 
 	i = j = 1;
 	do {
-		_snprintf_s(EntName, sizeof(EntName), _TRUNCATE, "%s%i", key, i);
-		_snprintf_s(EntName2, sizeof(EntName2), _TRUNCATE, "%s%i", key, j);
+		_snwprintf_s(EntName, _countof(EntName), _TRUNCATE, L"%s%i", key, i);
+		_snwprintf_s(EntName2, _countof(EntName2), _TRUNCATE, L"%s%i", key, j);
 
 		/* Get one hostname from file IniSrc */
-		GetPrivateProfileString(section, EntName, "",
-		                        TempHost, sizeof(TempHost), IniSrc);
+		GetPrivateProfileStringW(section, EntName, L"",
+		                        TempHost, _countof(TempHost), IniSrc);
 		/* Copy it to the file IniDest */
-		if (strlen(TempHost) > 0) {
-			WritePrivateProfileString(section, EntName2, TempHost, IniDest);
+		if (TempHost[0] != 0) {
+			WritePrivateProfileStringW(section, EntName2, TempHost, IniDest);
 			j++;
 		}
 		i++;
@@ -3635,7 +3623,7 @@
 	while (i <= MaxList);
 
 	/* update file */
-	WritePrivateProfileString(NULL, NULL, NULL, IniDest);
+	WritePrivateProfileStringW(NULL, NULL, NULL, IniDest);
 }
 
 void PASCAL AddValueToList(PCHAR FNameA, PCHAR Host, PCHAR section,
@@ -3704,9 +3692,9 @@
 }
 
  /* copy hostlist from source IniFile to dest IniFile */
-void PASCAL CopyHostList(PCHAR IniSrc, PCHAR IniDest)
+void PASCAL CopyHostList(const wchar_t *IniSrc, const wchar_t *IniDest)
 {
-	CopySerialList(IniSrc, IniDest, "Hosts", "Host", MAXHOSTLIST);
+	CopySerialList(IniSrc, IniDest, L"Hosts", L"Host", MAXHOSTLIST);
 }
 
 void PASCAL AddHostToList(PCHAR FName, PCHAR Host)


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