[Ttssh2-commit] [9166] Visual C 2015 から tmpnam() がフルパスを返すようになったため、バージョン判定の分岐を追加

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2021年 2月 18日 (木) 23:39:06 JST


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


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