[Ttssh2-commit] [9223] ttplugin.h のマクロ展開を関数呼び出しに変更

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2021年 4月 28日 (水) 01:09:59 JST


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);


Ttssh2-commit メーリングリストの案内
Back to archive index