diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-04-12 22:48:52 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-04-12 22:48:52 -0700 |
| commit | 7069fbbebc750a7c8a64adc8c30269527cbec9bd (patch) | |
| tree | 94d08f8fd3f04be1167f274c7aab37d0100a693b /toolsrc/src/vcpkg_Files.cpp | |
| parent | 7326b6c64dc6b04b6d8512f13dddf67bf7498bf1 (diff) | |
| download | vcpkg-7069fbbebc750a7c8a64adc8c30269527cbec9bd.tar.gz vcpkg-7069fbbebc750a7c8a64adc8c30269527cbec9bd.zip | |
[vcpkg] Remove+indirect nearly all uses of iostreams
Diffstat (limited to 'toolsrc/src/vcpkg_Files.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg_Files.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg_Files.cpp b/toolsrc/src/vcpkg_Files.cpp index a4a637b78..f4fb1bb61 100644 --- a/toolsrc/src/vcpkg_Files.cpp +++ b/toolsrc/src/vcpkg_Files.cpp @@ -149,6 +149,16 @@ namespace vcpkg::Files { return fs::stdfs::status(path, ec); } + virtual void write_contents(const fs::path& file_path, const std::string& data) override + { + FILE* f = nullptr; + auto ec = _wfopen_s(&f, file_path.native().c_str(), L"wb"); + Checks::check_exit(VCPKG_LINE_INFO, ec == 0); + auto count = fwrite(data.data(), sizeof(data[0]), data.size(), f); + fclose(f); + + Checks::check_exit(VCPKG_LINE_INFO, count == data.size()); + } }; Filesystem & get_real_filesystem() |
