wfopen_s() を layer_for_unicode_crt へ移動
@@ -37,6 +37,7 @@ | ||
37 | 37 | |
38 | 38 | #include "codeconv.h" |
39 | 39 | #include "ttlib.h" |
40 | +#include "layer_for_unicode_crt.h" | |
40 | 41 | |
41 | 42 | #include "fileread.h" |
42 | 43 |
@@ -44,25 +45,6 @@ | ||
44 | 45 | typedef unsigned char uint8_t; |
45 | 46 | #endif |
46 | 47 | |
47 | -static void __wfopen_s(FILE **fp, wchar_t const* filename, wchar_t const* mode) | |
48 | -{ | |
49 | - if (IsWindowsNTKernel()) { | |
50 | - // 多分内部で CreateFileW() を使用している | |
51 | - // NTでのみ使用する | |
52 | - _wfopen_s(fp, filename, mode); | |
53 | - if (fp != NULL) { | |
54 | - return; | |
55 | - } | |
56 | - // 念の為 ANSI でもオープンする | |
57 | - } | |
58 | - // ANSI でオープン | |
59 | - char *filenameA = ToCharW(filename); | |
60 | - char *modeA = ToCharW(mode); | |
61 | - fopen_s(fp, filenameA, modeA); | |
62 | - free(filenameA); | |
63 | - free(modeA); | |
64 | -} | |
65 | - | |
66 | 48 | /** |
67 | 49 | * ファイルをメモリに読み込む |
68 | 50 | * @param[out] *_len サイズ(terminater含む) |
@@ -29,12 +29,12 @@ | ||
29 | 29 | #include <stdlib.h> |
30 | 30 | |
31 | 31 | #include "codeconv.h" |
32 | +#include "ttlib.h" | |
32 | 33 | |
33 | 34 | #include "layer_for_unicode_crt.h" |
34 | 35 | |
35 | 36 | /** |
36 | - * fopen の wchar_t, char 両対応版 | |
37 | - * TODO __wfopen_s()#fileread.cpp もこのファイルに移動する | |
37 | + * fopen の wchar_t版 | |
38 | 38 | */ |
39 | 39 | FILE *__wfopen(const wchar_t *fname, const wchar_t *mode) |
40 | 40 | { |
@@ -49,3 +49,22 @@ | ||
49 | 49 | free(modeA); |
50 | 50 | return fp; |
51 | 51 | } |
52 | + | |
53 | +void __wfopen_s(FILE **fp, wchar_t const* filename, wchar_t const* mode) | |
54 | +{ | |
55 | + if (IsWindowsNTKernel()) { | |
56 | + // 多分内部で CreateFileW() を使用している | |
57 | + // NTでのみ使用する | |
58 | + _wfopen_s(fp, filename, mode); | |
59 | + if (fp != NULL) { | |
60 | + return; | |
61 | + } | |
62 | + // 念の為 ANSI でもオープンする | |
63 | + } | |
64 | + // ANSI でオープン | |
65 | + char *filenameA = ToCharW(filename); | |
66 | + char *modeA = ToCharW(mode); | |
67 | + fopen_s(fp, filenameA, modeA); | |
68 | + free(filenameA); | |
69 | + free(modeA); | |
70 | +} |
@@ -35,6 +35,7 @@ | ||
35 | 35 | #endif |
36 | 36 | |
37 | 37 | FILE *__wfopen(const wchar_t *fname, const wchar_t *mode); |
38 | +void __wfopen_s(FILE **fp, wchar_t const* filename, wchar_t const* mode); | |
38 | 39 | |
39 | 40 | #ifdef __cplusplus |
40 | 41 | } |