svnno****@sourc*****
svnno****@sourc*****
2010年 11月 24日 (水) 20:35:04 JST
Revision: 4165 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4165 Author: doda Date: 2010-11-24 20:35:04 +0900 (Wed, 24 Nov 2010) Log Message: ----------- freeaddrinfoをTTXでフック出来るようにした。 Modified Paths: -------------- trunk/teraterm/common/ttplugin.h trunk/teraterm/teraterm/WSAAsyncGetAddrInfo.c trunk/teraterm/teraterm/commlib.c trunk/teraterm/teraterm/ttplug.h trunk/teraterm/teraterm/ttwsk.c trunk/teraterm/teraterm/ttwsk.h -------------- next part -------------- Modified: trunk/teraterm/common/ttplugin.h =================================================================== --- trunk/teraterm/common/ttplugin.h 2010-11-24 11:24:22 UTC (rev 4164) +++ trunk/teraterm/common/ttplugin.h 2010-11-24 11:35:04 UTC (rev 4165) @@ -29,6 +29,8 @@ TWSAAsyncGetHostByName FAR * PWSAAsyncGetHostByName; TWSACancelAsyncRequest FAR * PWSACancelAsyncRequest; TWSAGetLastError FAR * PWSAGetLastError; +// Tgetaddrinfo FAR * Pgetaddrinfo; + Tfreeaddrinfo FAR * Pfreeaddrinfo; TWSAAsyncGetAddrInfo FAR * PWSAAsyncGetAddrInfo; } TTXSockHooks; Modified: trunk/teraterm/teraterm/WSAAsyncGetAddrInfo.c =================================================================== --- trunk/teraterm/teraterm/WSAAsyncGetAddrInfo.c 2010-11-24 11:24:22 UTC (rev 4164) +++ trunk/teraterm/teraterm/WSAAsyncGetAddrInfo.c 2010-11-24 11:35:04 UTC (rev 4165) @@ -7,6 +7,7 @@ #include <windows.h> #include <process.h> #include "WSAASyncGetAddrInfo.h" +#include "ttwsk.h" static unsigned __stdcall getaddrinfo_thread(void FAR * p); @@ -74,6 +75,7 @@ res = ga->res; /* call getaddrinfo */ +// gai = Pgetaddrinfo(hostname, portname, hints, res); gai = getaddrinfo(hostname, portname, hints, res); /* send value of gai as message to window hWnd */ Modified: trunk/teraterm/teraterm/commlib.c =================================================================== --- trunk/teraterm/teraterm/commlib.c 2010-11-24 11:24:22 UTC (rev 4164) +++ trunk/teraterm/teraterm/commlib.c 2010-11-24 11:35:04 UTC (rev 4165) @@ -742,7 +742,7 @@ } HAsync = 0; #ifndef NO_INET6 - freeaddrinfo(cv->res0); + Pfreeaddrinfo(cv->res0); #endif /* NO_INET6 */ if ( cv->s!=INVALID_SOCKET ) { Pclosesocket(cv->s); Modified: trunk/teraterm/teraterm/ttplug.h =================================================================== --- trunk/teraterm/teraterm/ttplug.h 2010-11-24 11:24:22 UTC (rev 4164) +++ trunk/teraterm/teraterm/ttplug.h 2010-11-24 11:35:04 UTC (rev 4165) @@ -22,7 +22,7 @@ &Pioctlsocket, &Precv, &Pselect, &Psend, &Psetsockopt, \ &Psocket, &PWSAAsyncSelect, &PWSAAsyncGetHostByName, \ &PWSACancelAsyncRequest, &PWSAGetLastError, \ - &PWSAAsyncGetAddrInfo \ + /* &Pgetaddrinfo,*/ &Pfreeaddrinfo, &PWSAAsyncGetAddrInfo \ }; \ TTXInternalOpenTCP(&SockHooks); \ } while (0) @@ -38,7 +38,7 @@ &Pioctlsocket, &Precv, &Pselect, &Psend, &Psetsockopt, \ &Psocket, &PWSAAsyncSelect, &PWSAAsyncGetHostByName, \ &PWSACancelAsyncRequest, &PWSAGetLastError, \ - &PWSAAsyncGetAddrInfo \ + /* &Pgetaddrinfo,*/ &Pfreeaddrinfo, &PWSAAsyncGetAddrInfo \ }; \ TTXInternalCloseTCP(&SockHooks); \ } while (0) Modified: trunk/teraterm/teraterm/ttwsk.c =================================================================== --- trunk/teraterm/teraterm/ttwsk.c 2010-11-24 11:24:22 UTC (rev 4164) +++ trunk/teraterm/teraterm/ttwsk.c 2010-11-24 11:35:04 UTC (rev 4165) @@ -30,6 +30,8 @@ TWSAGetLastError PWSAGetLastError; TWSAStartup PWSAStartup; TWSACleanup PWSACleanup; +// Tgetaddrinfo Pgetaddrinfo; +Tfreeaddrinfo Pfreeaddrinfo; TWSAAsyncGetAddrInfo PWSAAsyncGetAddrInfo; void CheckWinsock() @@ -151,6 +153,10 @@ if (PWSACleanup==NULL) Err = TRUE; #ifndef NO_INET6 +// Pgetaddrinfo = (Tgetaddrinfo)GetProcAddress(HWinsock, "getaddrinfo"); +// if (Pgetaddrinfo==NULL) Err = TRUE; + + Pfreeaddrinfo = freeaddrinfo; PWSAAsyncGetAddrInfo = WSAAsyncGetAddrInfo; #endif /* NO_INET6 */ Modified: trunk/teraterm/teraterm/ttwsk.h =================================================================== --- trunk/teraterm/teraterm/ttwsk.h 2010-11-24 11:24:22 UTC (rev 4164) +++ trunk/teraterm/teraterm/ttwsk.h 2010-11-24 11:35:04 UTC (rev 4165) @@ -53,6 +53,8 @@ (HWND hWnd, unsigned int wMsg, const char FAR * hostname, const char FAR * portname, struct addrinfo FAR * hints, struct addrinfo FAR * FAR * res); +// typedef int (PASCAL FAR *Tgetaddrinfo)(const char *name, const char *port, const struct addrinfo *hints, struct addrinfo **res); +typedef void (PASCAL FAR *Tfreeaddrinfo)(struct addrinfo *ai); BOOL LoadWinsock(); void FreeWinsock(); @@ -76,6 +78,8 @@ extern TWSAStartup PWSAStartup; extern TWSACleanup PWSACleanup; extern TWSAAsyncGetAddrInfo PWSAAsyncGetAddrInfo; +// extern Tgetaddrinfo Pgetaddrinfo; +extern Tfreeaddrinfo Pfreeaddrinfo; #ifdef __cplusplus }