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)