Revision: 9166 https://osdn.net/projects/ttssh2/scm/svn/commits/9166 Author: nmaya Date: 2021-02-18 23:39:06 +0900 (Thu, 18 Feb 2021) Log Message: ----------- Visual C 2015 から tmpnam() がフルパスを返すようになったため、バージョン判定の分岐を追加 https://docs.microsoft.com/en-us/cpp/porting/visual-cpp-change-history-2003-2015?view=msvc-160 tmpnam Generates Usable File Names Modified Paths: -------------- branches/4-stable/ttssh2/ttxssh/hosts.c -------------- next part -------------- Modified: branches/4-stable/ttssh2/ttxssh/hosts.c =================================================================== --- branches/4-stable/ttssh2/ttxssh/hosts.c 2021-02-18 14:37:05 UTC (rev 9165) +++ branches/4-stable/ttssh2/ttxssh/hosts.c 2021-02-18 14:39:06 UTC (rev 9166) @@ -1371,7 +1371,9 @@ Key key; // known_hosts\x82ɓo\x98^\x82\xB3\x82\xEA\x82Ă\xA2\x82錮 int length; char filename[MAX_PATH]; +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) char tmp[L_tmpnam]; +#endif int fd; int amount_written = 0; int close_result; @@ -1379,9 +1381,13 @@ char buf[FILENAME_MAX]; // \x8F\x91\x82\xAB\x8D\x9E\x82݈ꎞ\x83t\x83@\x83C\x83\x8B\x82\xF0\x8AJ\x82\xAD +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) _getcwd(filename, sizeof(filename)); - tmpnam_s(tmp,sizeof(tmp)); + tmpnam_s(tmp, sizeof(tmp)); strcat_s(filename, sizeof(filename), tmp); +#else // VSC2015(VC14.0) or later + tmpnam_s(filename, sizeof(filename)); +#endif fd = _open(filename, _O_CREAT | _O_WRONLY | _O_SEQUENTIAL | _O_BINARY | _O_TRUNC, _S_IREAD | _S_IWRITE); @@ -1560,7 +1566,9 @@ Key key; // known_hosts\x82ɓo\x98^\x82\xB3\x82\xEA\x82Ă\xA2\x82錮 int length; char filename[MAX_PATH]; +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) char tmp[L_tmpnam]; +#endif int fd; int amount_written = 0; int close_result; @@ -1568,9 +1576,13 @@ char buf[FILENAME_MAX]; // \x8F\x91\x82\xAB\x8D\x9E\x82݈ꎞ\x83t\x83@\x83C\x83\x8B\x82\xF0\x8AJ\x82\xAD +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) _getcwd(filename, sizeof(filename)); tmpnam_s(tmp, sizeof(tmp)); strcat_s(filename, sizeof(filename), tmp); +#else // VSC2015(VC14.0) or later + tmpnam_s(filename, sizeof(filename)); +#endif fd = _open(filename, _O_CREAT | _O_WRONLY | _O_SEQUENTIAL | _O_BINARY | _O_TRUNC, _S_IREAD | _S_IWRITE);