Revision: 7536 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7536 Author: zmatsuo Date: 2019-04-01 21:45:02 +0900 (Mon, 01 Apr 2019) Log Message: ----------- MinGWでビルドできるよう調整 Modified Paths: -------------- trunk/CMakeLists.txt trunk/TTProxy/ProxyWSockHook.h trunk/TTProxy/TTProxy.cpp trunk/TTProxy/TTProxy.h trunk/TTProxy/YCL/include/YCL/Array.h trunk/TTProxy/YCL/include/YCL/HASHCODE.h trunk/TTProxy/YCL/include/YCL/Hashtable.h trunk/TTXKanjiMenu/CMakeLists.txt trunk/TTXSamples/TTXAdditionalTitle/CMakeLists.txt trunk/TTXSamples/TTXAlwaysOnTop/CMakeLists.txt trunk/TTXSamples/TTXCallSysMenu/CMakeLists.txt trunk/TTXSamples/TTXCommandLineOpt/CMakeLists.txt trunk/TTXSamples/TTXCopyIniFile/CMakeLists.txt trunk/TTXSamples/TTXFixedWinSize/CMakeLists.txt trunk/TTXSamples/TTXKcodeChange/CMakeLists.txt trunk/TTXSamples/TTXOutputBuffering/CMakeLists.txt trunk/TTXSamples/TTXRecurringCommand/CMakeLists.txt trunk/TTXSamples/TTXResizeMenu/CMakeLists.txt trunk/TTXSamples/TTXResizeWin/CMakeLists.txt trunk/TTXSamples/TTXShowCommandLine/CMakeLists.txt trunk/TTXSamples/TTXViewMode/CMakeLists.txt trunk/TTXSamples/TTXttyrec/TTXttyplay.c trunk/TTXSamples/TTXttyrec/TTXttyrec.c trunk/TTXSamples/TTXttyrec/gettimeofday.c trunk/TTXSamples/TTXttyrec/gettimeofday.h trunk/TTXSamples/ttxtest/CMakeLists.txt trunk/teraterm/CMakeLists.txt trunk/teraterm/common/i18n.c trunk/teraterm/common/i18n.h trunk/teraterm/common/servicenames.h trunk/teraterm/common/ttcommon.h trunk/teraterm/common/ttftypes.h trunk/teraterm/common/ttlib.h trunk/teraterm/common/tttypes.h trunk/teraterm/teraterm/ttplug.c trunk/teraterm/teraterm/vtdisp.c trunk/teraterm/teraterm/vtwin.cpp trunk/teraterm/teraterm/winjump.c trunk/teraterm/ttpcmn/CMakeLists.txt trunk/teraterm/ttpcmn/language.c trunk/teraterm/ttpcmn/language.h trunk/teraterm/ttpcmn/ttcmn.c trunk/ttssh2/ttxssh/CMakeLists.txt trunk/ttssh2/ttxssh/buffer.c trunk/ttssh2/ttxssh/fwd-socks.c trunk/ttssh2/ttxssh/fwd.c trunk/ttssh2/ttxssh/key.c trunk/ttssh2/ttxssh/key.h trunk/ttssh2/ttxssh/keyfiles.c trunk/ttssh2/ttxssh/ssh.c Removed Paths: ------------- trunk/teraterm/svnrev/CMakeLists.txt -------------- next part -------------- Modified: trunk/CMakeLists.txt =================================================================== --- trunk/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -38,10 +38,8 @@ elseif(MINGW) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WIN32_WINNT=${_WIN32_WINNT}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_WIN32_WINNT=${_WIN32_WINNT}") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra " - "-Wno-unused-parameter -static -ffunction-sections -fdata-sections ${C_ONLY_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra " - "-Wno-unused-parameter -static -ffunction-sections -fdata-sections") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter -static -ffunction-sections -fdata-sections ${C_ONLY_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter -static -ffunction-sections -fdata-sections") if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc -static-libstdc++") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++") @@ -96,8 +94,13 @@ #### # ソースツリー内に生成ファイルが存在していたら削除する if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/teraterm/ttpdlg/svnversion.h") + # r7517より前 file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/teraterm/ttpdlg/svnversion.h") endif() +if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/teraterm/teraterm/svnversion.h") + # r7517以後 + file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/teraterm/teraterm/svnversion.h") +endif() if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ttssh2/ttxssh/puttyversion.h") file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/ttssh2/ttxssh/puttyversion.h") endif() Modified: trunk/TTProxy/ProxyWSockHook.h =================================================================== --- trunk/TTProxy/ProxyWSockHook.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTProxy/ProxyWSockHook.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -20,7 +20,7 @@ extern char UILanguageFile[MAX_PATH]; -void UTIL_get_lang_msg(PCHAR key, PCHAR buf, int buf_len, PCHAR def) +void UTIL_get_lang_msg(const char *key, PCHAR buf, int buf_len, const char *def) { GetI18nStr("TTProxy", key, buf, buf_len, def, UILanguageFile); } @@ -44,7 +44,7 @@ public: class MessageShower { public: - virtual void showMessage(const char* message)const = NULL; + virtual void showMessage(const char* message)const = 0; }; private: struct DUMMYHOSTENT { Modified: trunk/TTProxy/TTProxy.cpp =================================================================== --- trunk/TTProxy/TTProxy.cpp 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTProxy/TTProxy.cpp 2019-04-01 12:45:02 UTC (rev 7536) @@ -17,7 +17,8 @@ } } -BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved) { +extern "C" __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved) { + (void)reserved; switch (reason) { case DLL_PROCESS_ATTACH: myInstance = instance; @@ -28,6 +29,9 @@ return TTProxy::getInstance().threadAttach(); case DLL_THREAD_DETACH: return TTProxy::getInstance().threadDetach(); + default: + TTXBind(0, NULL); // dummy TODO \x96\xA2\x8Eg\x97p\x82ō폜\x82\xB3\x82\xEA\x82Ȃ\xA2\x82悤\x82ɂ\xB7\x82\xE9 + break; } return FALSE; } Modified: trunk/TTProxy/TTProxy.h =================================================================== --- trunk/TTProxy/TTProxy.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTProxy/TTProxy.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -6,7 +6,7 @@ #include "ProxyWSockHook.h" -extern BOOL PASCAL TTXBind(WORD Version, TTXExports* exports); +extern "C" __declspec(dllexport) BOOL WINAPI TTXBind(WORD Version, TTXExports* exports); char UILanguageFile[MAX_PATH]; @@ -48,7 +48,7 @@ static void add_error_message(const char* message) { if (getInstance().error_message != NULL) { - StringBuffer buffer = getInstance().error_message; + StringBuffer buffer = (const TCHAR *)getInstance().error_message; buffer.append("\n\n"); buffer.append(message); getInstance().error_message = buffer.toString(); Modified: trunk/TTProxy/YCL/include/YCL/Array.h =================================================================== --- trunk/TTProxy/YCL/include/YCL/Array.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTProxy/YCL/include/YCL/Array.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -53,17 +53,21 @@ array[i] = source[i]; } } +#if 0 void copyFrom(Array* source) { copy(source->array[i]); } +#endif void copyTo(TYPE distination[])const { for (int i = 0; i < length; i++) { distination[i] = array[i]; } } +#if 0 void copyTo(Array* distination)const { copyTo(distination->array[i]); } +#endif }; } Modified: trunk/TTProxy/YCL/include/YCL/HASHCODE.h =================================================================== --- trunk/TTProxy/YCL/include/YCL/HASHCODE.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTProxy/YCL/include/YCL/HASHCODE.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -25,7 +25,7 @@ } HASHCODE(const HASHCODE& code):value(code.value) { } - HASHCODE(void* value):value((int) value) { + HASHCODE(const void* value):value((int)(uintptr_t) value) { } HASHCODE(int value):value(value) { } Modified: trunk/TTProxy/YCL/include/YCL/Hashtable.h =================================================================== --- trunk/TTProxy/YCL/include/YCL/Hashtable.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTProxy/YCL/include/YCL/Hashtable.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -122,7 +122,7 @@ // \x91S\x82ẴG\x83\x93\x83g\x83\x8A\x82\xAA\x90ݒ\xE8\x8Dς݂\xC5key\x82Ɠ\x99\x82\xB5\x82\xA2\x82\xE0\x82̂\xAA\x82Ȃ\xAF\x82\xEA\x82\xCE-1\x82\xF0\x95Ԃ\xB7\x81B int find(const TYPE_KEY& key)const { int found = -1; - int h = HASHCODE(key); + int h = HASHCODE(&key); for (int i = 0; i < backetSize; i++) { int index = ((unsigned) h + i) % backetSize; const TYPE_KEY& bkey = backet[index].key; Modified: trunk/TTXKanjiMenu/CMakeLists.txt =================================================================== --- trunk/TTXKanjiMenu/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXKanjiMenu/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -24,6 +24,12 @@ ${SRC} ) +set_target_properties( + ttxkanjimenu + PROPERTIES + PREFIX "" + ) + target_link_libraries( ttxkanjimenu ttpcmn Modified: trunk/TTXSamples/TTXAdditionalTitle/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXAdditionalTitle/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXAdditionalTitle/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,9 +18,14 @@ ${SRC} ) +set_target_properties( + TTXAdditionalTitle + PROPERTIES + PREFIX "" + ) + target_link_libraries( TTXAdditionalTitle ttpcmn ) - Modified: trunk/TTXSamples/TTXAlwaysOnTop/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXAlwaysOnTop/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXAlwaysOnTop/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -22,6 +22,12 @@ ${SRC} ) +set_target_properties( + TTXAlwaysOnTop + PROPERTIES + PREFIX "" + ) + target_link_libraries( TTXAlwaysOnTop ttpcmn Modified: trunk/TTXSamples/TTXCallSysMenu/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXCallSysMenu/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXCallSysMenu/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -17,3 +17,9 @@ TTXCallSysMenu SHARED ${SRC} ) + +set_target_properties( + TTXCallSysMenu + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXCommandLineOpt/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXCommandLineOpt/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXCommandLineOpt/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,6 +18,12 @@ ${SRC} ) +set_target_properties( + TTXCommandLineOpt + PROPERTIES + PREFIX "" + ) + target_link_libraries( TTXCommandLineOpt ttpcmn Modified: trunk/TTXSamples/TTXCopyIniFile/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXCopyIniFile/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXCopyIniFile/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,4 +18,8 @@ ${SRC} ) - +set_target_properties( + TTXCopyIniFile + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXFixedWinSize/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXFixedWinSize/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXFixedWinSize/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,4 +18,8 @@ ${SRC} ) - +set_target_properties( + TTXFixedWinSize + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXKcodeChange/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXKcodeChange/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXKcodeChange/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,4 +18,8 @@ ${SRC} ) - +set_target_properties( + TTXKcodeChange + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXOutputBuffering/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXOutputBuffering/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXOutputBuffering/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,4 +18,8 @@ ${SRC} ) - +set_target_properties( + TTXOutputBuffering + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXRecurringCommand/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXRecurringCommand/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXRecurringCommand/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -34,6 +34,12 @@ ${COMMON_SRC} ) +set_target_properties( + TTXRecurringCommand + PROPERTIES + PREFIX "" + ) + target_link_libraries( TTXRecurringCommand ttpcmn Modified: trunk/TTXSamples/TTXResizeMenu/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXResizeMenu/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXResizeMenu/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -22,6 +22,12 @@ ${SRC} ) +set_target_properties( + TTXResizeMenu + PROPERTIES + PREFIX "" + ) + target_link_libraries( TTXResizeMenu ttpcmn Modified: trunk/TTXSamples/TTXResizeWin/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXResizeWin/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXResizeWin/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,4 +18,8 @@ ${SRC} ) - +set_target_properties( + TTXResizeWin + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXShowCommandLine/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXShowCommandLine/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXShowCommandLine/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -18,4 +18,8 @@ ${SRC} ) - +set_target_properties( + TTXShowCommandLine + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXViewMode/CMakeLists.txt =================================================================== --- trunk/TTXSamples/TTXViewMode/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXViewMode/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -20,3 +20,9 @@ TTXViewMode SHARED ${SRC} ) + +set_target_properties( + TTXViewMode + PROPERTIES + PREFIX "" + ) Modified: trunk/TTXSamples/TTXttyrec/TTXttyplay.c =================================================================== --- trunk/TTXSamples/TTXttyrec/TTXttyplay.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXttyrec/TTXttyplay.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -106,7 +106,7 @@ pvar->ChangeTitle = FALSE; pvar->ReplaceHostDlg = FALSE; pvar->played = FALSE; - gettimeofday(&(pvar->last), NULL); + gettimeofday(&(pvar->last) /*, NULL*/ ); pvar->wait.tv_sec = 0; pvar->wait.tv_usec = 1; pvar->pause = FALSE; @@ -131,11 +131,12 @@ static BOOL PASCAL TTXReadFile(HANDLE fh, LPVOID obuff, DWORD oblen, LPDWORD rbytes, LPOVERLAPPED rol) { static struct recheader prh = { 0, 0, 0 }; - static unsigned int lbytes; + static DWORD lbytes; static char ibuff[BUFFSIZE]; static BOOL title_changed = FALSE, first_title_changed = FALSE; - int b[3], rsize; + int b[3]; + DWORD rsize; struct recheader h; struct timeval curtime; struct timeval tdiff; @@ -189,7 +190,7 @@ } if (!pvar->nowait) { - gettimeofday(&curtime, NULL); + gettimeofday(&curtime /*, NULL*/ ); tdiff = tvdiff(pvar->last, curtime); } Modified: trunk/TTXSamples/TTXttyrec/TTXttyrec.c =================================================================== --- trunk/TTXSamples/TTXttyrec/TTXttyrec.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXttyrec/TTXttyrec.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -106,9 +106,10 @@ void WriteData(HANDLE fh, char *buff, int len) { struct timeval t; - int b[3], w; + int b[3]; + DWORD w; - gettimeofday(&t, NULL); + gettimeofday(&t /*, NULL*/ ); b[0] = t.tv_sec; b[1] = t.tv_usec; b[2] = len; Modified: trunk/TTXSamples/TTXttyrec/gettimeofday.c =================================================================== --- trunk/TTXSamples/TTXttyrec/gettimeofday.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXttyrec/gettimeofday.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -1,9 +1,15 @@ #include "gettimeofday.h" -int gettimeofday(struct timeval *tv, struct timezone *tz) { +// unix time epoch from windows file time +#if defined(_MSC_VER) +#define FTEPOCHDIFF 116444736000000000i64 +#else +#define FTEPOCHDIFF 116444736000000000LL +#endif + +int gettimeofday(struct timeval *tv /*, struct timezone *tz*/ ) { FILETIME ft; __int64 t; - int tzsec, dst; if (tv) { GetSystemTimeAsFileTime(&ft); @@ -12,7 +18,10 @@ tv->tv_usec = (long)(t % 1000000); } +#if 0 if (tz) { + long tzsec; + int dst; if (_get_timezone(&tzsec) == 0 && _get_daylight(&dst) == 0) { tz->tz_minuteswest = tzsec / 60; tz->tz_dsttime = dst; @@ -21,6 +30,7 @@ return -1; } } +#endif return 0; } Modified: trunk/TTXSamples/TTXttyrec/gettimeofday.h =================================================================== --- trunk/TTXSamples/TTXttyrec/gettimeofday.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/TTXttyrec/gettimeofday.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -3,14 +3,14 @@ #include <windows.h> #include <time.h> +#if defined(_MSC_VER) struct timezone { int tz_minuteswest; int tz_dsttime; }; +#endif -#define FTEPOCHDIFF 116444736000000000i64 - -int gettimeofday(struct timeval *tv, struct timezone *tz); +int gettimeofday(struct timeval *tv /*, struct timezone *tz*/ ); struct timeval tvdiff(struct timeval a, struct timeval b); struct timeval tvshift(struct timeval tv, int shift); int tvcmp(struct timeval a, struct timeval b); Modified: trunk/TTXSamples/ttxtest/CMakeLists.txt =================================================================== --- trunk/TTXSamples/ttxtest/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/TTXSamples/ttxtest/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -11,3 +11,9 @@ TTXtest SHARED TTXtest.c ) + +set_target_properties( + TTXtest + PROPERTIES + PREFIX "" + ) Modified: trunk/teraterm/CMakeLists.txt =================================================================== --- trunk/teraterm/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -14,7 +14,7 @@ ttpset PROPERTIES FOLDER teraterm) -if(NOT(${CMAKE_GENERATOR} MATCHES "Visual Studio 8 2005" AND ${CMAKE_MAKE_PROGRAM} MATCHES "VCExpress.exe")) +if((NOT(${CMAKE_GENERATOR} MATCHES "Visual Studio 8 2005" AND ${CMAKE_MAKE_PROGRAM} MATCHES "VCExpress.exe")) AND (NOT(MINGW))) # MFCを使用しているため VS2005 Express ではビルドできない add_subdirectory(ttpmacro) set_target_properties( @@ -36,6 +36,3 @@ set_target_properties( keycode PROPERTIES FOLDER teraterm) - -# ttpdlg内でconfig時 svnversion.h を生成 -#add_subdirectory(svnrev) Modified: trunk/teraterm/common/i18n.c =================================================================== --- trunk/teraterm/common/i18n.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/common/i18n.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -47,7 +47,7 @@ } #endif -void GetI18nStr(const char *section, const char *key, PCHAR buf, int buf_len, const char *def, const char *iniFile) +DllExport void GetI18nStr(const char *section, const char *key, PCHAR buf, int buf_len, const char *def, const char *iniFile) { GetPrivateProfileStringA(section, key, def, buf, buf_len, iniFile); RestoreNewLine(buf); Modified: trunk/teraterm/common/i18n.h =================================================================== --- trunk/teraterm/common/i18n.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/common/i18n.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -37,6 +37,10 @@ extern "C" { #endif +#if !defined(DllExport) +#define DllExport __declspec(dllexport) +#endif + typedef struct { int nIDDlgItem; const char *key; @@ -43,13 +47,13 @@ } DlgTextInfo; #if defined(UNICODE) -void GetI18nStrW(const char *section, const char *key, wchar_t *buf, int buf_len, const wchar_t *def, const char *iniFile); +DllExport void GetI18nStrW(const char *section, const char *key, wchar_t *buf, int buf_len, const wchar_t *def, const char *iniFile); #endif -void GetI18nStr(const char *section, const char *key, PCHAR buf, int buf_len, const char *def, const char *iniFile); -int GetI18nLogfont(const char *section, const char *key, PLOGFONTA logfont, int ppi, const char *iniFile); -void SetI18DlgStrs(const char *section, HWND hDlgWnd, +DllExport void GetI18nStr(const char *section, const char *key, PCHAR buf, int buf_len, const char *def, const char *iniFile); +DllExport int GetI18nLogfont(const char *section, const char *key, PLOGFONTA logfont, int ppi, const char *iniFile); +DllExport void SetI18DlgStrs(const char *section, HWND hDlgWnd, const DlgTextInfo *infos, size_t infoCount, const char *UILanguageFile); -void SetI18MenuStrs(const char *section, HMENU hMenu, +DllExport void SetI18MenuStrs(const char *section, HMENU hMenu, const DlgTextInfo *infos, size_t infoCount, const char *UILanguageFile); #if defined(_UNICODE) Modified: trunk/teraterm/common/servicenames.h =================================================================== --- trunk/teraterm/common/servicenames.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/common/servicenames.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -32,10 +32,13 @@ extern "C" { #endif +#if !defined(DllExport) +#define DllExport __declspec(dllexport) +#endif /* proto types */ -int PASCAL parse_port(char *str, char *buf, int bufsize); -int PASCAL parse_port_from_buf(char *buf); -char * PASCAL service_name(int num); +DllExport int PASCAL parse_port(char *str, char *buf, int bufsize); +DllExport int PASCAL parse_port_from_buf(char *buf); +DllExport char * PASCAL service_name(int num); #ifdef __cplusplus } Modified: trunk/teraterm/common/ttcommon.h =================================================================== --- trunk/teraterm/common/ttcommon.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/common/ttcommon.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -34,72 +34,71 @@ extern "C" { #endif -int PASCAL DetectComPorts(LPWORD ComPortTable, int ComPortMax, char **ComPortDesc); -int PASCAL CheckComPort(WORD ComPort); -void PASCAL CopyShmemToTTSet(PTTSet ts); -void PASCAL CopyTTSetToShmem(PTTSet ts); -BOOL PASCAL StartTeraTerm(PTTSet ts); -void PASCAL RestartTeraTerm(HWND hwnd, PTTSet ts); -void PASCAL ChangeDefaultSet(PTTSet ts, PKeyMap km); -void PASCAL GetDefaultSet(PTTSet ts); +#if !defined(DllExport) +#define DllExport __declspec(dllimport) +#endif + +DllExport int PASCAL DetectComPorts(LPWORD ComPortTable, int ComPortMax, char **ComPortDesc); +DllExport int PASCAL CheckComPort(WORD ComPort); +DllExport void PASCAL CopyShmemToTTSet(PTTSet ts); +DllExport void PASCAL CopyTTSetToShmem(PTTSet ts); +DllExport BOOL PASCAL StartTeraTerm(PTTSet ts); +DllExport void PASCAL RestartTeraTerm(HWND hwnd, PTTSet ts); +DllExport void PASCAL ChangeDefaultSet(PTTSet ts, PKeyMap km); +DllExport void PASCAL GetDefaultSet(PTTSet ts); // void PASCAL LoadDefaultSet(PCHAR SetupFName); -WORD PASCAL GetKeyCode(PKeyMap KeyMap, WORD Scan); -void PASCAL GetKeyStr(HWND HWin, PKeyMap KeyMap, WORD KeyCode, +DllExport WORD PASCAL GetKeyCode(PKeyMap KeyMap, WORD Scan); +DllExport void PASCAL GetKeyStr(HWND HWin, PKeyMap KeyMap, WORD KeyCode, BOOL AppliKeyMode, BOOL AppliCursorMode, BOOL Send8BitMode, PCHAR KeyStr, int destlen, LPINT Len, LPWORD Type); -void PASCAL SetCOMFlag(int com); -void PASCAL ClearCOMFlag(int com); -int PASCAL CheckCOMFlag(int com); +DllExport void PASCAL SetCOMFlag(int com); +DllExport void PASCAL ClearCOMFlag(int com); +DllExport int PASCAL CheckCOMFlag(int com); -int PASCAL RegWin(HWND HWinVT, HWND HWinTEK); -void PASCAL UnregWin(HWND HWin); -void PASCAL SetWinMenu(HMENU menu, PCHAR buf, int buflen, PCHAR langFile, int VTFlag); -void PASCAL SetWinList(HWND HWin, HWND HDlg, int IList); -void PASCAL SelectWin(int WinId); -void PASCAL SelectNextWin(HWND HWin, int Next, BOOL SkipIconic); -HWND PASCAL GetNthWin(int n); -int PASCAL GetRegisteredWindowCount(); -void PASCAL ShowAllWin(int stat); -void PASCAL ShowAllWinSidebySide(HWND); -void PASCAL ShowAllWinStacked(HWND); -void PASCAL ShowAllWinCascade(HWND); -void PASCAL BroadcastClosingMessage(HWND myhwnd); -void PASCAL UndoAllWin(); -void PASCAL OpenHelp(UINT Command, DWORD Data, char *UILanguageFile); +DllExport int PASCAL RegWin(HWND HWinVT, HWND HWinTEK); +DllExport void PASCAL UnregWin(HWND HWin); +DllExport void PASCAL SetWinMenu(HMENU menu, PCHAR buf, int buflen, PCHAR langFile, int VTFlag); +DllExport void PASCAL SetWinList(HWND HWin, HWND HDlg, int IList); +DllExport void PASCAL SelectWin(int WinId); +DllExport void PASCAL SelectNextWin(HWND HWin, int Next, BOOL SkipIconic); +DllExport HWND PASCAL GetNthWin(int n); +DllExport int PASCAL GetRegisteredWindowCount(); +DllExport void PASCAL ShowAllWin(int stat); +DllExport void PASCAL ShowAllWinSidebySide(HWND); +DllExport void PASCAL ShowAllWinStacked(HWND); +DllExport void PASCAL ShowAllWinCascade(HWND); +DllExport void PASCAL BroadcastClosingMessage(HWND myhwnd); +DllExport void PASCAL UndoAllWin(); +DllExport void PASCAL OpenHelp(UINT Command, DWORD Data, char *UILanguageFile); -int PASCAL CommReadRawByte(PComVar cv, LPBYTE b); -int PASCAL CommRead1Byte(PComVar cv, LPBYTE b); -void PASCAL CommInsert1Byte(PComVar cv, BYTE b); -int PASCAL CommRawOut(PComVar cv, PCHAR B, int C); -int PASCAL CommBinaryOut(PComVar cv, PCHAR B, int C); -int PASCAL CommBinaryBuffOut(PComVar cv, PCHAR B, int C); -int PASCAL CommTextOut(PComVar cv, PCHAR B, int C); -int PASCAL CommTextOutW(PComVar cv, const wchar_t *B, int C); -int PASCAL CommBinaryEcho(PComVar cv, PCHAR B, int C); -int PASCAL CommTextEcho(PComVar cv, PCHAR B, int C); -int PASCAL CommTextEchoW(PComVar cv, const wchar_t *B, int C); +DllExport int PASCAL CommReadRawByte(PComVar cv, LPBYTE b); +DllExport int PASCAL CommRead1Byte(PComVar cv, LPBYTE b); +DllExport void PASCAL CommInsert1Byte(PComVar cv, BYTE b); +DllExport int PASCAL CommRawOut(PComVar cv, PCHAR B, int C); +DllExport int PASCAL CommBinaryOut(PComVar cv, PCHAR B, int C); +DllExport int PASCAL CommBinaryBuffOut(PComVar cv, PCHAR B, int C); +DllExport int PASCAL CommTextOut(PComVar cv, PCHAR B, int C); +DllExport int PASCAL CommTextOutW(PComVar cv, const wchar_t *B, int C); +DllExport int PASCAL CommBinaryEcho(PComVar cv, PCHAR B, int C); +DllExport int PASCAL CommTextEcho(PComVar cv, PCHAR B, int C); +DllExport int PASCAL CommTextEchoW(PComVar cv, const wchar_t *B, int C); -void PASCAL CreateNotifyIcon(PComVar cv); -void PASCAL DeleteNotifyIcon(PComVar cv); -void PASCAL NotifyMessage(PComVar cv, PCHAR message, PCHAR title, DWORD flag); -void PASCAL ShowNotifyIcon(PComVar cv); -void PASCAL HideNotifyIcon(PComVar cv); -void PASCAL SetVerNotifyIcon(PComVar cv, unsigned int ver); -void PASCAL SetCustomNotifyIcon(HICON icon); -HICON PASCAL GetCustomNotifyIcon(); +DllExport void PASCAL CreateNotifyIcon(PComVar cv); +DllExport void PASCAL DeleteNotifyIcon(PComVar cv); +DllExport void PASCAL NotifyMessage(PComVar cv, PCHAR message, PCHAR title, DWORD flag); +DllExport void PASCAL ShowNotifyIcon(PComVar cv); +DllExport void PASCAL HideNotifyIcon(PComVar cv); +DllExport void PASCAL SetVerNotifyIcon(PComVar cv, unsigned int ver); +DllExport void PASCAL SetCustomNotifyIcon(HICON icon); +DllExport HICON PASCAL GetCustomNotifyIcon(); #define NotifyInfoMessage(cv, msg, title) NotifyMessage(cv, msg, title, 1) #define NotifyWarnMessage(cv, msg, title) NotifyMessage(cv, msg, title, 2) #define NotifyErrorMessage(cv, msg, title) NotifyMessage(cv, msg, title, 3) -WORD PASCAL SJIS2JIS(WORD KCode); -WORD PASCAL SJIS2EUC(WORD KCode); -WORD PASCAL JIS2SJIS(WORD KCode); -BYTE PASCAL RussConv(int cin, int cout, BYTE b); -void PASCAL RussConvStr - (int cin, int cout, PCHAR Str, int count); +#include "../ttpcmn/language.h" #ifdef __cplusplus } Modified: trunk/teraterm/common/ttftypes.h =================================================================== --- trunk/teraterm/common/ttftypes.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/common/ttftypes.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -133,7 +133,7 @@ DWORD StartTime; // log rotate - enum rotate_mode RotateMode; + int RotateMode; // enum rotate_mode RotateMode; LONG RotateSize; int RotateStep; Modified: trunk/teraterm/common/ttlib.h =================================================================== --- trunk/teraterm/common/ttlib.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/common/ttlib.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -37,9 +37,13 @@ extern "C" { #endif +#if !defined(DllExport) +#define DllExport __declspec(dllexport) +#endif + BOOL GetFileNamePos(PCHAR PathName, int far *DirLen, int far *FNPos); -BOOL ExtractFileName(PCHAR PathName, PCHAR FileName, int destlen); -BOOL ExtractDirName(PCHAR PathName, PCHAR DirName); +DllExport BOOL ExtractFileName(PCHAR PathName, PCHAR FileName, int destlen); +DllExport BOOL ExtractDirName(PCHAR PathName, PCHAR DirName); void FitFileName(PCHAR FileName, int destlen, const char *DefExt); void AppendSlash(PCHAR Path, int destlen); void DeleteSlash(PCHAR Path); @@ -57,7 +61,7 @@ #endif int isInvalidFileNameChar(PCHAR FName); #define deleteInvalidFileNameChar(name) replaceInvalidFileNameChar(name, 0) -void replaceInvalidFileNameChar(PCHAR FName, unsigned char c); +DllExport void replaceInvalidFileNameChar(PCHAR FName, unsigned char c); int isInvalidStrftimeChar(PCHAR FName); void deleteInvalidStrftimeChar(PCHAR FName); void ParseStrftimeFileName(PCHAR FName, int destlen); @@ -76,32 +80,33 @@ void get_lang_msgW(const char *key, wchar_t *buf, int buf_len, const wchar_t *def, const char *iniFile); #endif int get_lang_font(PCHAR key, HWND dlg, PLOGFONT logfont, HFONT *font, const char *iniFile); -BOOL doSelectFolder(HWND hWnd, char *path, int pathlen, const char *def, const char *msg); -void OutputDebugPrintf(const char *fmt, ...); -DWORD get_OPENFILENAME_SIZEA(); -BOOL IsWindows95(); -BOOL IsWindowsMe(); -BOOL IsWindowsNT4(); -BOOL IsWindowsNTKernel(); -BOOL IsWindows2000(); -BOOL IsWindows2000OrLater(); -BOOL IsWindowsVistaOrLater(); -BOOL IsWindows7OrLater(); -BOOL HasMultiMonitorSupport(); -BOOL HasGetAdaptersAddresses(); -BOOL HasDnsQuery(); -BOOL HasBalloonTipSupport(); +DllExport BOOL doSelectFolder(HWND hWnd, char *path, int pathlen, const char *def, const char *msg); +DllExport void OutputDebugPrintf(const char *fmt, ...); +DllExport DWORD get_OPENFILENAME_SIZEA(); +DllExport DWORD get_OPENFILENAME_SIZEW(); +DllExport BOOL IsWindows95(); +DllExport BOOL IsWindowsMe(); +DllExport BOOL IsWindowsNT4(); +DllExport BOOL IsWindowsNTKernel(); +DllExport BOOL IsWindows2000(); +DllExport BOOL IsWindows2000OrLater(); +DllExport BOOL IsWindowsVistaOrLater(); +DllExport BOOL IsWindows7OrLater(); +DllExport BOOL HasMultiMonitorSupport(); +DllExport BOOL HasGetAdaptersAddresses(); +DllExport BOOL HasDnsQuery(); +DllExport BOOL HasBalloonTipSupport(); int KanjiCode2List(int lang, int kcode); int List2KanjiCode(int lang, int kcode); int KanjiCodeTranslate(int lang, int kcode); -char *mctimelocal(char *format, BOOL utc_flag); +DllExport char *mctimelocal(char *format, BOOL utc_flag); char *strelapsed(DWORD start_time); void b64encode(PCHAR dst, int dsize, PCHAR src, int len); -int b64decode(PCHAR dst, int dsize, PCHAR src); +DllExport int b64decode(PCHAR dst, int dsize, PCHAR src); -PCHAR PASCAL GetParam(PCHAR buff, int size, PCHAR param); -void PASCAL DequoteParam(PCHAR dest, int dest_len, PCHAR src); +DllExport PCHAR PASCAL GetParam(PCHAR buff, int size, PCHAR param); +DllExport void PASCAL DequoteParam(PCHAR dest, int dest_len, PCHAR src); void PASCAL DeleteComment(PCHAR dest, int dest_size, PCHAR src); void split_buffer(char *buffer, int delimiter, char **head, char **body); @@ -108,7 +113,7 @@ BOOL GetPositionOnWindow( HWND hWnd, const POINT *point, BOOL *InWindow, BOOL *InClient, BOOL *InTitleBar); -void GetMessageboxFont(LOGFONTA *logfont); +DllExport void GetMessageboxFont(LOGFONTA *logfont); #define CheckFlag(var, flag) (((var) & (flag)) != 0) Modified: trunk/teraterm/common/tttypes.h =================================================================== --- trunk/teraterm/common/tttypes.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/common/tttypes.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -644,7 +644,7 @@ WORD FontQuality; char ScpSendDir[MAXPATHLEN]; char BGImageFilePath[MAX_PATH]; - enum rotate_mode LogRotate; + int LogRotate; // enum rotate_mode LogRotate; DWORD LogRotateSize; WORD LogRotateSizeType; WORD LogRotateStep; @@ -1018,7 +1018,7 @@ BOOL Open; WORD PortType; WORD ComPort; - unsigned int s; /* SOCKET */ + UINT_PTR s; /* SOCKET */ WORD RetryCount; HANDLE ComID; BOOL CanSend, RRQ; Deleted: trunk/teraterm/svnrev/CMakeLists.txt =================================================================== --- trunk/teraterm/svnrev/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/svnrev/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -1,23 +0,0 @@ -project(svnrev) - -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/") - -set(SRC - svnrev.cpp - svnrev.h - ) - -include_directories( - ../common - ../ttpfile - . - ) - -add_executable( - svnrev - ${SRC} - ) - -target_link_libraries( - svnrev - ) Modified: trunk/teraterm/teraterm/ttplug.c =================================================================== --- trunk/teraterm/teraterm/ttplug.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/teraterm/ttplug.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -72,7 +72,12 @@ if (NumExtensions>=MAXNUMEXTENSIONS) return; LibHandle[NumExtensions] = LoadLibrary(fileName); if (LibHandle[NumExtensions] != NULL) { - TTXBindProc bind = (TTXBindProc)GetProcAddress(LibHandle[NumExtensions], "_TTXBind @ 8"); +#if defined(_MSC_VER) + const char *TTXBIND = "_TTXBind @ 8"; +#else + const char *TTXBIND = "TTXBind @ 8"; +#endif + TTXBindProc bind = (TTXBindProc)GetProcAddress(LibHandle[NumExtensions], TTXBIND); if (bind==NULL) bind = (TTXBindProc)GetProcAddress(LibHandle[NumExtensions], "TTXBind"); if (bind != NULL) { Modified: trunk/teraterm/teraterm/vtdisp.c =================================================================== --- trunk/teraterm/teraterm/vtdisp.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/teraterm/vtdisp.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -447,9 +447,9 @@ if(!hSPI) goto error; - (FARPROC)SPI_GetPluginInfo = GetProcAddress(hSPI,"GetPluginInfo"); - (FARPROC)SPI_IsSupported = GetProcAddress(hSPI,"IsSupported"); - (FARPROC)SPI_GetPicture = GetProcAddress(hSPI,"GetPicture"); + SPI_GetPluginInfo = (void *)GetProcAddress(hSPI,"GetPluginInfo"); + SPI_IsSupported = (void *)GetProcAddress(hSPI,"IsSupported"); + SPI_GetPicture = (void *)GetProcAddress(hSPI,"GetPicture"); if(!SPI_GetPluginInfo || !SPI_IsSupported || !SPI_GetPicture) goto error; Modified: trunk/teraterm/teraterm/vtwin.cpp =================================================================== --- trunk/teraterm/teraterm/vtwin.cpp 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/teraterm/vtwin.cpp 2019-04-01 12:45:02 UTC (rev 7536) @@ -2148,10 +2148,9 @@ for (int i = 0; i < DropListCount; i++) { const char *FileName = DropLists[i]; const DWORD attr = GetFileAttributes(FileName); - if (attr == -1 ) { - goto finish; - } - if (attr & FILE_ATTRIBUTE_DIRECTORY) { + if (attr == (DWORD)-1 ) { + FileCount++; + } else if (attr & FILE_ATTRIBUTE_DIRECTORY) { DirectoryCount++; } else { FileCount++; Modified: trunk/teraterm/teraterm/winjump.c =================================================================== --- trunk/teraterm/teraterm/winjump.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/teraterm/winjump.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -51,11 +51,18 @@ #include <stdio.h> #include <string.h> #include <shlobj.h> +#include <crtdbg.h> #include "winjump.h" #include "teraterm.h" #include "tttypes.h" +#ifdef _DEBUG +#define malloc(l) _malloc_dbg((l), _NORMAL_BLOCK, __FILE__, __LINE__) +#define free(p) _free_dbg((p), _NORMAL_BLOCK) +#define _strdup(s) _strdup_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) +#endif + #define MAX_JUMPLIST_ITEMS 30 /* PuTTY will never show more items in * the jumplist than this, regardless of * user preferences. */ @@ -368,6 +375,7 @@ } IPropertyStore; #endif +#if !defined(__MINGW32__) static const CLSID CLSID_DestinationList = { 0x77f10cf0, 0x3db5, 0x4966, {0xb5,0x20,0xb7,0xc5,0x4f,0xd3,0x5e,0xd6} }; @@ -383,9 +391,13 @@ static const IID IID_IShellLink = { 0x000214ee, 0x0000, 0x0000, {0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} }; +#endif +#if (NTDDI_VERSION < NTDDI_WIN7) static const IID IID_ICustomDestinationList = { 0x6332debf, 0x87b5, 0x4670, {0x90,0xc0,0x5e,0x57,0xb4,0x08,0xa4,0x9e} }; +#endif +#if !defined(__MINGW32__) static const IID IID_IObjectArray = { 0x92ca9dcd, 0x5622, 0x4bba, {0xa8,0x05,0x5e,0x9f,0x54,0x1b,0xd8,0xc9} }; @@ -392,6 +404,7 @@ static const IID IID_IPropertyStore = { 0x886d8eeb, 0x8cf2, 0x4446, {0x8d,0x02,0xcd,0xba,0x1d,0xbd,0xcf,0x99} }; +#endif static const PROPERTYKEY PKEY_Title = { {0xf29f85e0, 0x4ff9, 0x1068, {0xab,0x91,0x08,0x00,0x2b,0x27,0xb3,0xd9}}, 0x00000002 Modified: trunk/teraterm/ttpcmn/CMakeLists.txt =================================================================== --- trunk/teraterm/ttpcmn/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/ttpcmn/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -30,7 +30,6 @@ ) set(SRC - ttpcmn.def cmn_res.h language.c language.h Modified: trunk/teraterm/ttpcmn/language.c =================================================================== --- trunk/teraterm/ttpcmn/language.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/ttpcmn/language.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -29,16 +29,17 @@ // TTCMN.DLL character code conversion +#include <mbstring.h> +#include <locale.h> #include "teraterm.h" #include "tttypes.h" -#include <mbstring.h> -#include <locale.h> #include "codemap.h" +#define DllExport __declspec(dllexport) #include "language.h" // export\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9 -unsigned short ConvertUnicode(unsigned short code, const codemap_t *table, int tmax) +DllExport unsigned short ConvertUnicode(unsigned short code, const codemap_t *table, int tmax) { int low, mid, high; unsigned short result; @@ -65,7 +66,7 @@ } // Japanese SJIS -> JIS -WORD PASCAL SJIS2JIS(WORD KCode) +DllExport WORD PASCAL SJIS2JIS(WORD KCode) { WORD x0,x1,x2,y0; BYTE b = LOBYTE(KCode); @@ -92,13 +93,13 @@ } // Japanese SJIS -> EUC -WORD PASCAL SJIS2EUC(WORD KCode) +DllExport WORD PASCAL SJIS2EUC(WORD KCode) { return (SJIS2JIS(KCode) | 0x8080); } // Japanese JIS -> SJIS -WORD PASCAL JIS2SJIS(WORD KCode) +DllExport WORD PASCAL JIS2SJIS(WORD KCode) { WORD n1, n2, SJIS; @@ -532,7 +533,7 @@ }; // Russian character set conversion -BYTE PASCAL RussConv(int cin, int cout, BYTE b) +DllExport BYTE PASCAL RussConv(int cin, int cout, BYTE b) // cin: input character set (IdWindows/IdKOI8/Id866/IdISO) // cin: output character set (IdWindows/IdKOI8/Id866/IdISO) { @@ -543,7 +544,7 @@ } // Russian character set conversion for a character string -void PASCAL RussConvStr(int cin, int cout, PCHAR Str, int count) +DllExport void PASCAL RussConvStr(int cin, int cout, PCHAR Str, int count) // cin: input character set (IdWindows/IdKOI8/Id866/IdISO) // cin: output character set (IdWindows/IdKOI8/Id866/IdISO) { Modified: trunk/teraterm/ttpcmn/language.h =================================================================== --- trunk/teraterm/ttpcmn/language.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/ttpcmn/language.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -29,17 +29,22 @@ /* TTCMN.DLL, character code conversion */ -#include "codemap.h" +#pragma once + #ifdef __cplusplus extern "C" { #endif +#if !defined(DllExport) +#define DllExport __declspec(dllimport) +#endif + /* proto types */ -WORD PASCAL SJIS2JIS(WORD KCode); -WORD PASCAL SJIS2EUC(WORD KCode); -WORD PASCAL JIS2SJIS(WORD KCode); -BYTE PASCAL RussConv(int cin, int cout, BYTE b); -void PASCAL RussConvStr(int cin, int cout, PCHAR Str, int count); +DllExport WORD PASCAL SJIS2JIS(WORD KCode); +DllExport WORD PASCAL SJIS2EUC(WORD KCode); +DllExport WORD PASCAL JIS2SJIS(WORD KCode); +DllExport BYTE PASCAL RussConv(int cin, int cout, BYTE b); +DllExport void PASCAL RussConvStr(int cin, int cout, PCHAR Str, int count); #ifdef __cplusplus } Modified: trunk/teraterm/ttpcmn/ttcmn.c =================================================================== --- trunk/teraterm/ttpcmn/ttcmn.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/teraterm/ttpcmn/ttcmn.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -32,13 +32,8 @@ #endif /* TTCMN.DLL, main */ -#include "teraterm.h" -#include "tttypes.h" #include <direct.h> #include <string.h> -#include "ttftypes.h" -#include "ttlib.h" -#include "language.h" #include <stdio.h> #include <windows.h> #include <tchar.h> @@ -46,11 +41,22 @@ #include <locale.h> #include <htmlhelp.h> +#define DllExport __declspec(dllexport) +#include "language.h" +#undef DllExport + +#include "teraterm.h" +#include "tttypes.h" +#include "ttftypes.h" +#include "ttlib.h" #include "compat_w95.h" #include "tt_res.h" -#include "ttcommon.h" #include "codeconv.h" +#define DllExport __declspec(dllexport) +#include "ttcommon.h" + + // TMap \x82\xF0\x8Ai\x94[\x82\xB7\x82\xE9\x83t\x83@\x83C\x83\x8B\x83}\x83b\x83s\x83\x93\x83O\x83I\x83u\x83W\x83F\x83N\x83g(\x8B\xA4\x97L\x83\x81\x83\x82\x83\x8A)\x82̖\xBC\x91O // TMap(\x82Ƃ\xBB\x82̃\x81\x83\x93\x83o)\x82̍X\x90V\x8E\x9E\x82͋\x8C\x83o\x81[\x83W\x83\x87\x83\x93\x82Ƃ̓\xAF\x8E\x9E\x8BN\x93\xAE\x82ׂ̈ɕς\xA6\x82\xE9\x95K\x97v\x82\xAA\x82\xA0\x82邪 // \x98A\x94Ԃ\xA9\x82\xE7\x83o\x81[\x83W\x83\x87\x83\x93\x94ԍ\x86\x82\xF0\x8Eg\x82\xA4\x82悤\x82ɕύX\x82\xB5\x82\xBD\x88ׁA\x92ʏ\xED\x82͎蓮\x82ŕύX\x82\xB7\x82\xE9\x95K\x97v\x82͖\xB3\x82\xA2 Modified: trunk/ttssh2/ttxssh/CMakeLists.txt =================================================================== --- trunk/ttssh2/ttxssh/CMakeLists.txt 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/CMakeLists.txt 2019-04-01 12:45:02 UTC (rev 7536) @@ -117,6 +117,12 @@ ${SRC} ) +set_target_properties( + ttxssh + PROPERTIES + PREFIX "" + ) + target_link_libraries( ttxssh libputty Modified: trunk/ttssh2/ttxssh/buffer.c =================================================================== --- trunk/ttssh2/ttxssh/buffer.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/buffer.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -38,6 +38,10 @@ #include <openssl/ec.h> #include <zlib.h> +#if defined(__MINGW32__) +#define __FUNCTION__ +#endif + // \x83o\x83b\x83t\x83@\x82̃I\x83t\x83Z\x83b\x83g\x82\xF0\x8F\x89\x8A\x{227B0B5}\x81A\x82܂\xBE\x93ǂ\xF1\x82ł\xA2\x82Ȃ\xA2\x8F\xF3\x91Ԃɂ\xB7\x82\xE9\x81B // Tera Term(TTSSH)\x83I\x83\x8A\x83W\x83i\x83\x8B\x8A\x94\x81B void buffer_rewind(buffer_t *buf) Modified: trunk/ttssh2/ttxssh/fwd-socks.c =================================================================== --- trunk/ttssh2/ttxssh/fwd-socks.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/fwd-socks.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -65,6 +65,10 @@ #define SOCKS5_ERROR_COMMAND 129 #define SOCKS5_ERROR_ADDRTYPE 130 +#if defined(__MINGW32__) +#define __FUNCTION__ +#endif + typedef struct { PTInstVar pvar; Modified: trunk/ttssh2/ttxssh/fwd.c =================================================================== --- trunk/ttssh2/ttxssh/fwd.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/fwd.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -47,6 +47,10 @@ #define CHANNEL_READ_BUF_SIZE 8192 +#if defined(__MINGW32__) +#define __FUNCTION__ +#endif + static LRESULT CALLBACK accept_wnd_proc(HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam); Modified: trunk/ttssh2/ttxssh/key.c =================================================================== --- trunk/ttssh2/ttxssh/key.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/key.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -592,7 +592,7 @@ return TRUE; } -char* key_fingerprint_raw(Key *k, enum digest_algorithm dgst_alg, int *dgst_raw_length) +char* key_fingerprint_raw(Key *k, digest_algorithm dgst_alg, int *dgst_raw_length) { const EVP_MD *md = NULL; EVP_MD_CTX ctx; @@ -879,7 +879,7 @@ // // fingerprint\x81i\x8Ew\x96\xE4\x81F\x83z\x83X\x83g\x8C\xF6\x8AJ\x8C\xAE\x82̃n\x83b\x83V\x83\x85\x81j\x82\xAC\x82\xB7\x82\xE9 // -char *key_fingerprint(Key *key, enum fp_rep dgst_rep, enum digest_algorithm dgst_alg) +char *key_fingerprint(Key *key, enum fp_rep dgst_rep, digest_algorithm dgst_alg) { char *retval = NULL, *alg; unsigned char *dgst_raw; Modified: trunk/ttssh2/ttxssh/key.h =================================================================== --- trunk/ttssh2/ttxssh/key.h 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/key.h 2019-04-01 12:45:02 UTC (rev 7536) @@ -43,12 +43,12 @@ unsigned char *duplicate_ED25519_PK(unsigned char *src); BOOL key_copy(Key *dest, Key *src); -char *key_fingerprint_raw(Key *k, enum digest_algorithm dgst_alg, int *dgst_raw_length); -char *key_fingerprint(Key *key, enum fp_rep dgst_rep, enum fp_type dgst_type); +char *key_fingerprint_raw(Key *k, digest_algorithm dgst_alg, int *dgst_raw_length); +char *key_fingerprint(Key *key, enum fp_rep dgst_rep, digest_algorithm dgst_alg); const char *ssh_key_type(ssh_keytype type); char *get_sshname_from_key(Key *key); -enum hostkey_type get_keytype_from_name(char *name); +ssh_keytype get_keytype_from_name(char *name); char *curve_keytype_to_name(ssh_keytype type); ssh_keytype key_curve_name_to_keytype(char *name); Modified: trunk/ttssh2/ttxssh/keyfiles.c =================================================================== --- trunk/ttssh2/ttxssh/keyfiles.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/keyfiles.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -388,7 +388,7 @@ len = fread(buf, 1, sizeof(buf), fp); buffer_append(blob, buf, len); if (buffer_len(blob) > MAX_KEY_FILE_SIZE) { - logprintf(LOG_LEVEL_WARNING, __FUNCTION__ ": key file too large."); + logprintf(LOG_LEVEL_WARNING, "%s: key file too large.", __FUNCTION__); goto error; } if (len < sizeof(buf)) @@ -401,7 +401,7 @@ cp = buffer_ptr(blob); len = buffer_len(blob); if (len < m1len || memcmp(cp, MARK_BEGIN, m1len)) { - logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ": missing begin marker"); + logprintf(LOG_LEVEL_VERBOSE, "%s: missing begin marker", __FUNCTION__); goto error; } cp += m1len; @@ -420,7 +420,7 @@ } } if (!len) { - logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ": no end marker"); + logprintf(LOG_LEVEL_VERBOSE, "%s: no end marker", __FUNCTION__); goto error; } @@ -427,15 +427,15 @@ // \x83t\x83@\x83C\x83\x8B\x82̃X\x83L\x83\x83\x83\x93\x82\xAA\x8FI\x82\xED\x82\xC1\x82\xBD\x82̂ŁAbase64 decode\x82\xB7\x82\xE9\x81B len = buffer_len(encoded); if ((cp = buffer_append_space(copy_consumed, len)) == NULL) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_append_space"); + logprintf(LOG_LEVEL_ERROR, "%s: buffer_append_space", __FUNCTION__); goto error; } if ((dlen = b64decode(cp, len, buffer_ptr(encoded))) < 0) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": base64 decode failed"); + logprintf(LOG_LEVEL_ERROR, "%s: base64 decode failed", __FUNCTION__); goto error; } if ((unsigned int)dlen > len) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": crazy base64 length %d > %u", dlen, len); + logprintf(LOG_LEVEL_ERROR, "%s: crazy base64 length %d > %u", __FUNCTION__, dlen, len); goto error; } @@ -442,7 +442,7 @@ buffer_consume_end(copy_consumed, len - dlen); if (buffer_remain_len(copy_consumed) < sizeof(AUTH_MAGIC) || memcmp(buffer_tail_ptr(copy_consumed), AUTH_MAGIC, sizeof(AUTH_MAGIC))) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": bad magic"); + logprintf(LOG_LEVEL_ERROR, "%s: bad magic", __FUNCTION__); goto error; } buffer_consume(copy_consumed, sizeof(AUTH_MAGIC)); @@ -467,11 +467,11 @@ kdfname = buffer_get_string_msg(copy_consumed, NULL); if (kdfname == NULL || (!strcmp(kdfname, "none") && !strcmp(kdfname, KDFNAME))) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": unknown kdf name"); + logprintf(LOG_LEVEL_ERROR, "%s: unknown kdf name", __FUNCTION__ ); goto error; } if (!strcmp(kdfname, "none") && strcmp(ciphername, "none") != 0) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ "%s: cipher %s requires kdf", ciphername); + logprintf(LOG_LEVEL_ERROR, "%s: cipher %s requires kdf", __FUNCTION__, ciphername); goto error; } @@ -478,12 +478,12 @@ /* kdf options */ kdfp = buffer_get_string_msg(copy_consumed, &klen); if (kdfp == NULL) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": kdf options not set"); + logprintf(LOG_LEVEL_ERROR, "%s: kdf options not set", __FUNCTION__); goto error; } if (klen > 0) { if ((cp = buffer_append_space(kdf, klen)) == NULL) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": kdf alloc failed"); + logprintf(LOG_LEVEL_ERROR, "%s: kdf alloc failed", __FUNCTION__); goto error; } memcpy(cp, kdfp, klen); @@ -491,11 +491,11 @@ /* number of keys */ if (buffer_get_int_ret(&nkeys, copy_consumed) < 0) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": key counter missing"); + logprintf(LOG_LEVEL_ERROR, "%s: key counter missing", __FUNCTION__); goto error; } if (nkeys != 1) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": only one key supported"); + logprintf(LOG_LEVEL_ERROR, "%s: only one key supported", __FUNCTION__); goto error; } @@ -502,7 +502,7 @@ /* pubkey */ cp = buffer_get_string_msg(copy_consumed, &len); if (cp == NULL) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": pubkey not found"); + logprintf(LOG_LEVEL_ERROR, "%s: pubkey not found", __FUNCTION__); goto error; } free(cp); /* XXX check pubkey against decrypted private key */ @@ -512,11 +512,11 @@ blocksize = get_cipher_block_size(cipher); authlen = 0; // TODO: \x82Ƃ肠\x82\xA6\x82\xB8\x8CŒ艻 if (len < blocksize) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": encrypted data too small"); + logprintf(LOG_LEVEL_ERROR, "%s: encrypted data too small", __FUNCTION__); goto error; } if (len % blocksize) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": length not multiple of blocksize"); + logprintf(LOG_LEVEL_ERROR, "%s: length not multiple of blocksize", __FUNCTION__); goto error; } @@ -527,7 +527,7 @@ if (!strcmp(kdfname, KDFNAME)) { salt = buffer_get_string_msg(kdf, &slen); if (salt == NULL) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": salt not set"); + logprintf(LOG_LEVEL_ERROR, "%s: salt not set", __FUNCTION__); goto error; } rounds = buffer_get_int(kdf); @@ -534,7 +534,7 @@ // TODO: error check if (bcrypt_pbkdf(passphrase, strlen(passphrase), salt, slen, key, keylen + ivlen, rounds) < 0) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": bcrypt_pbkdf failed"); + logprintf(LOG_LEVEL_ERROR, "%s: bcrypt_pbkdf failed", __FUNCTION__); goto error; } } @@ -551,7 +551,7 @@ buffer_consume(copy_consumed, len); if (buffer_remain_len(copy_consumed) != 0) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": key blob has trailing data (len = %u)", + logprintf(LOG_LEVEL_ERROR, "%s: key blob has trailing data (len = %u)", __FUNCTION__, buffer_remain_len(copy_consumed)); goto error; } @@ -559,11 +559,11 @@ /* check bytes */ if (buffer_get_int_ret(&check1, b) < 0 || buffer_get_int_ret(&check2, b) < 0) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": check bytes missing"); + logprintf(LOG_LEVEL_ERROR, "%s: check bytes missing", __FUNCTION__); goto error; } if (check1 != check2) { - logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ": decrypt failed: 0x%08x != 0x%08x", + logprintf(LOG_LEVEL_VERBOSE, "%s: decrypt failed: 0x%08x != 0x%08x", __FUNCTION__, check1, check2); goto error; } @@ -579,7 +579,7 @@ while (buffer_remain_len(b)) { if (buffer_get_char_ret(&pad, b) == -1 || pad != (++i & 0xff)) { - logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": bad padding"); + logprintf(LOG_LEVEL_ERROR, "%s: bad padding", __FUNCTION__); key_free(keyfmt); keyfmt = NULL; goto error; Modified: trunk/ttssh2/ttxssh/ssh.c =================================================================== --- trunk/ttssh2/ttxssh/ssh.c 2019-04-01 12:44:34 UTC (rev 7535) +++ trunk/ttssh2/ttxssh/ssh.c 2019-04-01 12:45:02 UTC (rev 7536) @@ -83,6 +83,10 @@ // #define NonNull(msg) ((msg)?(msg):"(null)") +#if defined(__MINGW32__) +#define __FUNCTION__ +#endif + typedef enum { GetPayloadError = 0, GetPayloadOK = 1, @@ -181,7 +185,7 @@ // channel function // static Channel_t *ssh2_channel_new(unsigned int window, unsigned int maxpack, - enum confirm_type type, int local_num) + enum channel_type type, int local_num) { int i, found; Channel_t *c; @@ -3808,7 +3812,7 @@ auth_data_ptr = outmsg + 8 + protocol_len; for (i = 0; i < auth_data_len; i++) { _snprintf_s(auth_data_ptr + i * 2, - outmsg_len - (auth_data_ptr - outmsg) - i * 2, + outmsg_len - ((UINT_PTR)auth_data_ptr - (UINT_PTR)outmsg) - i * 2, _TRUNCATE, "%.2x", auth_data[i]); } set_uint32(outmsg + 8 + protocol_len + data_len, screen_num); @@ -5833,7 +5837,7 @@ // known_hosts\x91Ή\x9E (2006.3.20 yutaka) if (hostkey->type != pvar->hostkey_type) { // \x83z\x83X\x83g\x83L\x81[\x82̎\xED\x95ʔ\xE4\x8Ar _snprintf_s(emsg_tmp, sizeof(emsg_tmp), _TRUNCATE, - "%s: type mismatch for decoded server_host_key_blob (kex:%s blob:%s)", __FUNCTION__, + "%s: type mismatch for decoded server_host_key_blob (kex:%s blob:%s)", /*__FUNCTION__*/"handle_SSH2_dh_kex_reply", get_ssh_keytype_name(pvar->hostkey_type), get_ssh_keytype_name(hostkey->type)); emsg = emsg_tmp; goto error; @@ -5976,7 +5980,7 @@ // known_hosts\x91Ή\x9E (2006.3.20 yutaka) if (hostkey->type != pvar->hostkey_type) { // \x83z\x83X\x83g\x83L\x81[\x82̎\xED\x95ʔ\xE4\x8Ar _snprintf_s(emsg_tmp, sizeof(emsg_tmp), _TRUNCATE, - "%s: type mismatch for decoded server_host_key_blob (kex:%s blob:%s)", __FUNCTION__, + "%s: type mismatch for decoded server_host_key_blob (kex:%s blob:%s)", /*__FUNCTION__*/"handle_SSH2_dh_gex_reply", get_ssh_keytype_name(pvar->hostkey_type), get_ssh_keytype_name(hostkey->type)); emsg = emsg_tmp; goto error; @@ -6125,7 +6129,7 @@ // known_hosts\x91Ή\x9E (2006.3.20 yutaka) if (hostkey->type != pvar->hostkey_type) { // \x83z\x83X\x83g\x83L\x81[\x82̎\xED\x95ʔ\xE4\x8Ar _snprintf_s(emsg_tmp, sizeof(emsg_tmp), _TRUNCATE, - "%s: type mismatch for decoded server_host_key_blob (kex:%s blob:%s)", __FUNCTION__, + "%s: type mismatch for decoded server_host_key_blob (kex:%s blob:%s)", /*__FUNCTION__*/"handle_SSH2_ecdh_kex_reply", get_ssh_keytype_name(pvar->hostkey_type), get_ssh_keytype_name(hostkey->type)); emsg = emsg_tmp; goto error;