Revision: 9223 https://osdn.net/projects/ttssh2/scm/svn/commits/9223 Author: zmatsuo Date: 2021-04-28 01:09:59 +0900 (Wed, 28 Apr 2021) Log Message: ----------- ttplugin.h のマクロ展開を関数呼び出しに変更 - マクロと同等の関数を ttplug.c に追加 Modified Paths: -------------- trunk/teraterm/teraterm/ttplug.c trunk/teraterm/teraterm/ttplug.h -------------- next part -------------- Modified: trunk/teraterm/teraterm/ttplug.c =================================================================== --- trunk/teraterm/teraterm/ttplug.c 2021-04-27 16:01:15 UTC (rev 9222) +++ trunk/teraterm/teraterm/ttplug.c 2021-04-27 16:09:59 UTC (rev 9223) @@ -40,12 +40,6 @@ #include "ttwinman.h" #include "ttplugin.h" #include "ttplug.h" -#undef TTXOpenTCP -#undef TTXCloseTCP -#undef TTXOpenFile -#undef TTXCloseFile -#undef TTXGetUIHooks -#undef TTXGetSetupHooks #define MAXNUMEXTENSIONS 32 static HANDLE LibHandle[MAXNUMEXTENSIONS]; @@ -170,7 +164,7 @@ } } -void PASCAL TTXInternalOpenTCP(TTXSockHooks * hooks) { +static void PASCAL TTXInternalOpenTCP(TTXSockHooks * hooks) { int i; for (i = 0; i < NumExtensions; i++) { @@ -180,7 +174,21 @@ } } -void PASCAL TTXInternalCloseTCP(TTXSockHooks * hooks) { +void PASCAL TTXOpenTCP(void) +{ + do { + static TTXSockHooks SockHooks = { + &Pclosesocket, &Pconnect, &Phtonl, &Phtons, &Pinet_addr, + &Pioctlsocket, &Precv, &Pselect, &Psend, &Psetsockopt, + &Psocket, &PWSAAsyncSelect, &PWSAAsyncGetHostByName, + &PWSACancelAsyncRequest, &PWSAGetLastError, + /* &Pgetaddrinfo,*/ &Pfreeaddrinfo, &PWSAAsyncGetAddrInfo + }; + TTXInternalOpenTCP(&SockHooks); + } while (0); +} + +static void PASCAL TTXInternalCloseTCP(TTXSockHooks * hooks) { int i; for (i = NumExtensions - 1; i >= 0; i--) { @@ -190,7 +198,21 @@ } } -void PASCAL TTXInternalOpenFile(TTXFileHooks * hooks) { +void PASCAL TTXCloseTCP(void) +{ + do { + static TTXSockHooks SockHooks = { + &Pclosesocket, &Pconnect, &Phtonl, &Phtons, &Pinet_addr, + &Pioctlsocket, &Precv, &Pselect, &Psend, &Psetsockopt, + &Psocket, &PWSAAsyncSelect, &PWSAAsyncGetHostByName, + &PWSACancelAsyncRequest, &PWSAGetLastError, + /* &Pgetaddrinfo,*/ &Pfreeaddrinfo, &PWSAAsyncGetAddrInfo + }; + TTXInternalCloseTCP(&SockHooks); + } while (0); +} + +static void PASCAL TTXInternalOpenFile(TTXFileHooks * hooks) { int i; for (i = 0; i < NumExtensions; i++) { @@ -200,7 +222,17 @@ } } -void PASCAL TTXInternalCloseFile(TTXFileHooks * hooks) { +void PASCAL TTXOpenFile(void) +{ + do { + static TTXFileHooks FileHooks = { + &PCreateFile, &PCloseFile, &PReadFile, &PWriteFile + }; + TTXInternalOpenFile(&FileHooks); + } while (0); +} + +static void PASCAL TTXInternalCloseFile(TTXFileHooks * hooks) { int i; for (i = NumExtensions - 1; i >= 0; i--) { @@ -210,7 +242,17 @@ } } -void PASCAL TTXInternalGetUIHooks(TTXUIHooks * hooks) { +void PASCAL TTXCloseFile(void) +{ + do { + static TTXFileHooks FileHooks = { + &PCreateFile, &PCloseFile, &PReadFile, &PWriteFile + }; + TTXInternalCloseFile(&FileHooks); + } while (0); +} + +static void PASCAL TTXInternalGetUIHooks(TTXUIHooks * hooks) { int i; for (i = 0; i < NumExtensions; i++) { @@ -220,7 +262,19 @@ } } -void PASCAL TTXInternalGetSetupHooks(TTXSetupHooks * hooks) { +void PASCAL TTXGetUIHooks(void) +{ + do { + static TTXUIHooks UIHooks = { + &SetupTerminal, &SetupWin, &SetupKeyboard, &SetupSerialPort, + &SetupTCPIP, &GetHostName, &ChangeDirectory, &AboutDialog, + &ChooseFontDlg, &SetupGeneral, &WindowWindow + }; + TTXInternalGetUIHooks(&UIHooks); + } while (0); +} + +static void PASCAL TTXInternalGetSetupHooks(TTXSetupHooks * hooks) { int i; for (i = NumExtensions - 1; i >= 0; i--) { @@ -230,6 +284,17 @@ } } +void PASCAL TTXGetSetupHooks(void) +{ + do { + static TTXSetupHooks SetupHooks = { + &ReadIniFile, &WriteIniFile, &ReadKeyboardCnf, &CopyHostList, + &AddHostToList, &ParseParam + }; + TTXInternalGetSetupHooks(&SetupHooks); + } while (0); +} + void PASCAL TTXSetWinSize(int rows, int cols) { int i; Modified: trunk/teraterm/teraterm/ttplug.h =================================================================== --- trunk/teraterm/teraterm/ttplug.h 2021-04-27 16:01:15 UTC (rev 9222) +++ trunk/teraterm/teraterm/ttplug.h 2021-04-27 16:09:59 UTC (rev 9223) @@ -34,8 +34,6 @@ extern "C" { #endif -#include "ttplugin.h" - /* This function initializes the extensions and is called at the beginning of the program. */ void PASCAL TTXInit(PTTSet ts, PComVar cv); @@ -43,79 +41,26 @@ /* This function is called when a TCP connection is about to be opened. This macro stuff is to make sure that the functions in the caller's EXE or DLL are hooked. */ -void PASCAL TTXInternalOpenTCP(TTXSockHooks * hooks); -#define TTXOpenTCP() \ - do { \ - static TTXSockHooks SockHooks = { \ - &Pclosesocket, &Pconnect, &Phtonl, &Phtons, &Pinet_addr, \ - &Pioctlsocket, &Precv, &Pselect, &Psend, &Psetsockopt, \ - &Psocket, &PWSAAsyncSelect, &PWSAAsyncGetHostByName, \ - &PWSACancelAsyncRequest, &PWSAGetLastError, \ - /* &Pgetaddrinfo,*/ &Pfreeaddrinfo, &PWSAAsyncGetAddrInfo \ - }; \ - TTXInternalOpenTCP(&SockHooks); \ - } while (0) +void PASCAL TTXOpenTCP(void); /* This function is called when a TCP connection has been closed. This macro stuff is to make sure that the functions in the caller's EXE or DLL are hooked. */ -void PASCAL TTXInternalCloseTCP(TTXSockHooks * hooks); -#define TTXCloseTCP() \ - do { \ - static TTXSockHooks SockHooks = { \ - &Pclosesocket, &Pconnect, &Phtonl, &Phtons, &Pinet_addr, \ - &Pioctlsocket, &Precv, &Pselect, &Psend, &Psetsockopt, \ - &Psocket, &PWSAAsyncSelect, &PWSAAsyncGetHostByName, \ - &PWSACancelAsyncRequest, &PWSAGetLastError, \ - /* &Pgetaddrinfo,*/ &Pfreeaddrinfo, &PWSAAsyncGetAddrInfo \ - }; \ - TTXInternalCloseTCP(&SockHooks); \ - } while (0) +void PASCAL TTXCloseTCP(void); -void PASCAL TTXInternalOpenFile(TTXFileHooks * hooks); -#define TTXOpenFile() \ - do { \ - static TTXFileHooks FileHooks = { \ - &PCreateFile, &PCloseFile, &PReadFile, &PWriteFile \ - }; \ - TTXInternalOpenFile(&FileHooks); \ - } while (0) +void PASCAL TTXOpenFile(void); -void PASCAL TTXInternalCloseFile(TTXFileHooks * hooks); -#define TTXCloseFile() \ - do { \ - static TTXFileHooks FileHooks = { \ - &PCreateFile, &PCloseFile, &PReadFile, &PWriteFile \ - }; \ - TTXInternalCloseFile(&FileHooks); \ - } while (0) +void PASCAL TTXCloseFile(void); /* This function is called after the TTDLG DLL has been loaded. This macro stuff is to make sure that the functions in the caller's EXE or DLL are hooked. */ -void PASCAL TTXInternalGetUIHooks(TTXUIHooks * hooks); -#define TTXGetUIHooks() \ - do { \ - static TTXUIHooks UIHooks = { \ - &SetupTerminal, &SetupWin, &SetupKeyboard, &SetupSerialPort, \ - &SetupTCPIP, &GetHostName, &ChangeDirectory, &AboutDialog, \ - &ChooseFontDlg, &SetupGeneral, &WindowWindow \ - }; \ - TTXInternalGetUIHooks(&UIHooks); \ - } while (0) +void PASCAL TTXGetUIHooks(void); /* This function is called after the TTSET DLL has been loaded. This macro stuff is to make sure that the functions in the caller's EXE or DLL are hooked. */ -void PASCAL TTXInternalGetSetupHooks(TTXSetupHooks * hooks); -#define TTXGetSetupHooks() \ - do { \ - static TTXSetupHooks SetupHooks = { \ - &ReadIniFile, &WriteIniFile, &ReadKeyboardCnf, &CopyHostList, \ - &AddHostToList, &ParseParam \ - }; \ - TTXInternalGetSetupHooks(&SetupHooks); \ - } while (0) +void PASCAL TTXGetSetupHooks(void); /* This function is called when the window size has changed. */ void PASCAL TTXSetWinSize(int rows, int cols);