svnno****@sourc*****
svnno****@sourc*****
2017年 7月 7日 (金) 22:23:34 JST
Revision: 6852 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6852 Author: doda Date: 2017-07-07 22:23:34 +0900 (Fri, 07 Jul 2017) Log Message: ----------- マクロコマンド getver のバージョン取得方法を変更。 ttermpro.exe のバージョン情報を参照していたのを変更し、 tt-version.h のマクロを直接利用するようにした。 そもそも r6793 で getver が壊れていたが、この修正で直る。 SetDefaultDllDirectories() が GetFileVersionInfo() に影響を与えるなんて聞いて無いよ~ 実は MSDN の英語版の GetFileVersionInfo() には情報があるけど。 https://msdn.microsoft.com/en-us/library/windows/desktop/ms647003.aspx | If a full path is not specified, the function uses the search sequence specified by the LoadLibrary function. 他に LoadLibrary() の検索パスを利用する API って無いよな…… Revision Links: -------------- http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6793 Modified Paths: -------------- trunk/teraterm/ttpmacro/ttl.c trunk/teraterm/ttpmacro/ttpmacro.v10.vcxproj trunk/teraterm/ttpmacro/ttpmacro.v11.vcxproj trunk/teraterm/ttpmacro/ttpmacro.v12.vcxproj trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj trunk/teraterm/ttpmacro/ttpmacro.v9.vcproj trunk/teraterm/ttpmacro/ttpmacro.vcproj -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttl.c =================================================================== --- trunk/teraterm/ttpmacro/ttl.c 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttl.c 2017-07-07 13:23:34 UTC (rev 6852) @@ -36,6 +36,7 @@ #include <mbstring.h> #include <time.h> #include <errno.h> +#include "tt-version.h" #include "ttmdlg.h" #include "ttmbuff.h" #include "ttmparse.h" @@ -2798,87 +2799,29 @@ return Err; } -// \x8E\xC0\x8Ds\x83t\x83@\x83C\x83\x8B\x82\xA9\x82\xE7\x83o\x81[\x83W\x83\x87\x83\x93\x8F\xEE\x95\xF1\x82\xE9 (2005.2.28 yutaka) -static void get_file_version(char *exefile, int *major, int *minor, int *release, int *build) -{ - typedef struct { - WORD wLanguage; - WORD wCodePage; - } LANGANDCODEPAGE, *LPLANGANDCODEPAGE; - LPLANGANDCODEPAGE lplgcode; - UINT unLen; - DWORD size; - char *buf = NULL; - BOOL ret; - int i; - char fmt[80]; - char *pbuf; - - size = GetFileVersionInfoSize(exefile, NULL); - if (size == 0) { - goto error; - } - buf = malloc(size); - ZeroMemory(buf, size); - - if (GetFileVersionInfo(exefile, 0, size, buf) == FALSE) { - goto error; - } - - ret = VerQueryValue(buf, - "\\VarFileInfo\\Translation", - (LPVOID *)&lplgcode, &unLen); - if (ret == FALSE) - goto error; - - for (i = 0 ; i < (int)(unLen / sizeof(LANGANDCODEPAGE)) ; i++) { - _snprintf_s(fmt, sizeof(fmt), _TRUNCATE, "\\StringFileInfo\\%04x%04x\\FileVersion", - lplgcode[i].wLanguage, lplgcode[i].wCodePage); - VerQueryValue(buf, fmt, &pbuf, &unLen); - if (unLen > 0) { // get success - int n, a, b, c, d; - - n = sscanf(pbuf, "%d, %d, %d, %d", &a, &b, &c, &d); - if (n == 4) { // convert success - *major = a; - *minor = b; - *release = c; - *build = d; - break; - } - } - } - - free(buf); - return; - -error: - free(buf); - *major = *minor = *release = *build = 0; -} - // -// Tera Term\x82\xCCversion\x82\xF0\x8E擾\x82\xB7\x82\xE9 +// Tera Term \x82̃o\x81[\x83W\x83\x87\x83\x93\x8E擾 & \x94\xE4\x8Ar +// \x83o\x81[\x83W\x83\x87\x83\x93\x94ԍ\x86\x82̓R\x83\x93\x83p\x83C\x83\x8B\x8E\x9E\x82Ɍ\x88\x92肷\x82\xE9\x81B +// (\x8C\xBB\x8D݂͎\xC0\x8Ds\x83t\x83@\x83C\x83\x8B\x82̃o\x81[\x83W\x83\x87\x83\x93\x8F\xEE\x95\xF1\x82͎Q\x8FƂ\xB5\x82Ȃ\xA2) // -// (2008.2.4 yutaka) -// WORD TTLGetVer() { TVarId VarId; WORD Err; TStrVal Str1, Str2; - int a, b, c, d; + int cur_major = TT_VERSION_MAJOR; + int cur_minor = TT_VERSION_MINOR; int compare = 0; - int major, minor, ret; - int curver, ver; + int comp_major, comp_minor, ret; + int cur_ver, comp_ver; Err = 0; - GetStrVar(&VarId,&Err); + GetStrVar(&VarId, &Err); if (CheckParameterGiven()) { GetStrVal(Str1, &Err); - ret = sscanf_s(Str1, "%d.%d", &major, &minor); + ret = sscanf_s(Str1, "%d.%d", &comp_major, &comp_minor); if (ret != 2) { SetResult(-2); return 0; @@ -2895,17 +2838,16 @@ Err = ErrSyntax; if (Err!=0) return Err; - get_file_version("ttermpro.exe", &a, &b, &c, &d); - _snprintf_s(Str2, sizeof(Str2), _TRUNCATE, "%d.%d", a, b); - SetStrVal(VarId,Str2); + _snprintf_s(Str2, sizeof(Str2), _TRUNCATE, "%d.%d", cur_major, cur_minor); + SetStrVal(VarId, Str2); if (compare == 1) { - curver = a * 100 + b; - ver = major * 100 + minor; + cur_ver = cur_major * 100 + cur_minor; + comp_ver = comp_major * 100 + comp_minor; - if (curver < ver) { + if (cur_ver < comp_ver) { SetResult(-1); - } else if (curver == ver) { + } else if (cur_ver == comp_ver) { SetResult(0); } else { SetResult(1); Modified: trunk/teraterm/ttpmacro/ttpmacro.v10.vcxproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v10.vcxproj 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttpmacro.v10.vcxproj 2017-07-07 13:23:34 UTC (rev 6852) @@ -78,7 +78,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>onig_s.lib;SFMT.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>onig_s.lib;SFMT.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> @@ -114,7 +114,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>onig_sd.lib;SFMTd.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>onig_sd.lib;SFMTd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> Modified: trunk/teraterm/ttpmacro/ttpmacro.v11.vcxproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v11.vcxproj 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttpmacro.v11.vcxproj 2017-07-07 13:23:34 UTC (rev 6852) @@ -79,7 +79,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>onig_s.lib;SFMT.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>onig_s.lib;SFMT.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> @@ -114,7 +114,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>onig_sd.lib;SFMTd.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>onig_sd.lib;SFMTd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> Modified: trunk/teraterm/ttpmacro/ttpmacro.v12.vcxproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v12.vcxproj 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttpmacro.v12.vcxproj 2017-07-07 13:23:34 UTC (rev 6852) @@ -79,7 +79,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>nafxcw.lib;LIBCMT.lib;onig_s.lib;SFMT.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>nafxcw.lib;LIBCMT.lib;onig_s.lib;SFMT.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> @@ -115,7 +115,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>nafxcwd.lib;LIBCMTD.lib;onig_sd.lib;SFMTd.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>nafxcwd.lib;LIBCMTD.lib;onig_sd.lib;SFMTd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> Modified: trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj 2017-07-07 13:23:34 UTC (rev 6852) @@ -79,7 +79,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>nafxcw.lib;LIBCMT.lib;onig_s.lib;SFMT.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>nafxcw.lib;LIBCMT.lib;onig_s.lib;SFMT.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> @@ -115,7 +115,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>nafxcwd.lib;LIBCMTD.lib;onig_sd.lib;SFMTd.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>nafxcwd.lib;LIBCMTD.lib;onig_sd.lib;SFMTd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> Modified: trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj 2017-07-07 13:23:34 UTC (rev 6852) @@ -80,7 +80,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>nafxcw.lib;LIBCMT.lib;onig_s.lib;SFMT.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>nafxcw.lib;LIBCMT.lib;onig_s.lib;SFMT.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> @@ -116,7 +116,7 @@ <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile> <Link> - <AdditionalDependencies>nafxcwd.lib;LIBCMTD.lib;onig_sd.lib;SFMTd.lib;Version.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>nafxcwd.lib;LIBCMTD.lib;onig_sd.lib;SFMTd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies> <SuppressStartupBanner>true</SuppressStartupBanner> <AdditionalLibraryDirectories>$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <DelayLoadDLLs>iphlpapi.dll;user32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> Modified: trunk/teraterm/ttpmacro/ttpmacro.v9.vcproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v9.vcproj 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttpmacro.v9.vcproj 2017-07-07 13:23:34 UTC (rev 6852) @@ -73,7 +73,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="onig_s.lib SFMT.lib Version.lib iphlpapi.lib" + AdditionalDependencies="onig_s.lib SFMT.lib iphlpapi.lib" LinkIncremental="1" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir)" @@ -161,7 +161,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="onig_sd.lib SFMTd.lib Version.lib iphlpapi.lib" + AdditionalDependencies="onig_sd.lib SFMTd.lib iphlpapi.lib" LinkIncremental="1" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir)" Modified: trunk/teraterm/ttpmacro/ttpmacro.vcproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.vcproj 2017-07-06 22:22:16 UTC (rev 6851) +++ trunk/teraterm/ttpmacro/ttpmacro.vcproj 2017-07-07 13:23:34 UTC (rev 6852) @@ -72,7 +72,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="onig_s.lib SFMT.lib Version.lib iphlpapi.lib" + AdditionalDependencies="onig_s.lib SFMT.lib iphlpapi.lib" LinkIncremental="1" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir)" @@ -161,7 +161,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="onig_sd.lib SFMTd.lib Version.lib iphlpapi.lib" + AdditionalDependencies="onig_sd.lib SFMTd.lib iphlpapi.lib" LinkIncremental="1" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(SolutionDir)..\libs\oniguruma\src;$(SolutionDir)..\libs\SFMT;$(OutDir)"