svnno****@sourc*****
svnno****@sourc*****
2013年 3月 23日 (土) 06:03:32 JST
Revision: 5161 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5161 Author: maya Date: 2013-03-23 06:03:32 +0900 (Sat, 23 Mar 2013) Log Message: ----------- Windows 2000 以前で ttpmacro.exe を実行するとエラーになるのを修正 GetAdaptersAddresses を見つけられないエラーになるので iphlpapi.dll を LoadLibrary する Modified Paths: -------------- trunk/teraterm/ttpmacro/ttl.c trunk/teraterm/ttpmacro/ttpmacro.vcproj -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttl.c =================================================================== --- trunk/teraterm/ttpmacro/ttl.c 2013-03-22 17:28:54 UTC (rev 5160) +++ trunk/teraterm/ttpmacro/ttl.c 2013-03-22 21:03:32 UTC (rev 5161) @@ -43,7 +43,6 @@ #include <winsock2.h> #include <ws2tcpip.h> #include <iptypes.h> -#include <iphlpapi.h> #define TTERMCOMMAND "TTERMPRO /D=" #define CYGTERMCOMMAND "cyglaunch -o /D=" @@ -2247,6 +2246,12 @@ } +typedef DWORD (__stdcall *pGetAdaptersAddresses)(ULONG Family, + DWORD Flags, + PVOID Reserved, + PIP_ADAPTER_ADDRESSES pAdapterAddresses, + PULONG pOutBufLen); + WORD TTLGetIPv6Addr() { WORD Err; @@ -2256,6 +2261,8 @@ IP_ADAPTER_ADDRESSES addr[256];/* XXX */ ULONG len = sizeof(addr); char ipv6str[64]; + HMODULE h; + pGetAdaptersAddresses pfunc; Err = 0; GetStrVar(&VarId,&Err); @@ -2264,8 +2271,18 @@ if (Err!=0) return Err; // \x8E\xA9\x95\xAA\x8E\xA9\x90g\x82̑SIPv6\x83A\x83h\x83\x8C\x83X\x82\xF0\x8E擾\x82\xB7\x82\xE9\x81B + if ((h = LoadLibrary("iphlpapi.dll")) == NULL) { + int err = GetLastError(); + SetResult(-1); + return Err; + } + if ((pfunc = (pGetAdaptersAddresses)GetProcAddress(h, "GetAdaptersAddresses")) == NULL) { + FreeLibrary(h); + SetResult(-1); + return Err; + } num = 0; - ret = GetAdaptersAddresses(AF_INET6, 0, NULL, addr, &len); + ret = pfunc(AF_INET6, 0, NULL, addr, &len); if (ret == ERROR_SUCCESS) { IP_ADAPTER_ADDRESSES *padap = &addr[0]; @@ -2297,6 +2314,7 @@ SetResult(num); + FreeLibrary(h); return Err; } Modified: trunk/teraterm/ttpmacro/ttpmacro.vcproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.vcproj 2013-03-22 17:28:54 UTC (rev 5160) +++ trunk/teraterm/ttpmacro/ttpmacro.vcproj 2013-03-22 21:03:32 UTC (rev 5161) @@ -79,7 +79,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="onig_s.lib Version.lib iphlpapi.lib" + AdditionalDependencies="onig_s.lib Version.lib" OutputFile="..\Release/ttpmacro.exe" LinkIncremental="1" SuppressStartupBanner="true" @@ -176,7 +176,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="onig_sd.lib Version.lib iphlpapi.lib" + AdditionalDependencies="onig_sd.lib Version.lib" OutputFile="..\Debug/ttpmacro.exe" LinkIncremental="1" SuppressStartupBanner="true"