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
@@ -1367,7 +1367,9 @@ | ||
1367 | 1367 | Key key; // known_hostsに登録されている鍵 |
1368 | 1368 | int length; |
1369 | 1369 | char filename[MAX_PATH]; |
1370 | +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) | |
1370 | 1371 | char tmp[L_tmpnam]; |
1372 | +#endif | |
1371 | 1373 | int fd; |
1372 | 1374 | int amount_written = 0; |
1373 | 1375 | int close_result; |
@@ -1375,9 +1377,13 @@ | ||
1375 | 1377 | char buf[FILENAME_MAX]; |
1376 | 1378 | |
1377 | 1379 | // 書き込み一時ファイルを開く |
1380 | +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) | |
1378 | 1381 | _getcwd(filename, sizeof(filename)); |
1379 | - tmpnam_s(tmp,sizeof(tmp)); | |
1382 | + tmpnam_s(tmp, sizeof(tmp)); | |
1380 | 1383 | strcat_s(filename, sizeof(filename), tmp); |
1384 | +#else // VSC2015(VC14.0) or later | |
1385 | + tmpnam_s(filename, sizeof(filename)); | |
1386 | +#endif | |
1381 | 1387 | fd = _open(filename, |
1382 | 1388 | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL | _O_BINARY | _O_TRUNC, |
1383 | 1389 | _S_IREAD | _S_IWRITE); |
@@ -1556,7 +1562,9 @@ | ||
1556 | 1562 | Key key; // known_hostsに登録されている鍵 |
1557 | 1563 | int length; |
1558 | 1564 | char filename[MAX_PATH]; |
1565 | +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) | |
1559 | 1566 | char tmp[L_tmpnam]; |
1567 | +#endif | |
1560 | 1568 | int fd; |
1561 | 1569 | int amount_written = 0; |
1562 | 1570 | int close_result; |
@@ -1564,9 +1572,13 @@ | ||
1564 | 1572 | char buf[FILENAME_MAX]; |
1565 | 1573 | |
1566 | 1574 | // 書き込み一時ファイルを開く |
1575 | +#if _MSC_VER < 1900 // less than VSC2015(VC14.0) | |
1567 | 1576 | _getcwd(filename, sizeof(filename)); |
1568 | 1577 | tmpnam_s(tmp, sizeof(tmp)); |
1569 | 1578 | strcat_s(filename, sizeof(filename), tmp); |
1579 | +#else // VSC2015(VC14.0) or later | |
1580 | + tmpnam_s(filename, sizeof(filename)); | |
1581 | +#endif | |
1570 | 1582 | fd = _open(filename, |
1571 | 1583 | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL | _O_BINARY | _O_TRUNC, |
1572 | 1584 | _S_IREAD | _S_IWRITE); |