aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkglib.cpp
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-04-12 22:48:52 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-04-12 22:48:52 -0700
commit7069fbbebc750a7c8a64adc8c30269527cbec9bd (patch)
tree94d08f8fd3f04be1167f274c7aab37d0100a693b /toolsrc/src/vcpkglib.cpp
parent7326b6c64dc6b04b6d8512f13dddf67bf7498bf1 (diff)
downloadvcpkg-7069fbbebc750a7c8a64adc8c30269527cbec9bd.tar.gz
vcpkg-7069fbbebc750a7c8a64adc8c30269527cbec9bd.zip
[vcpkg] Remove+indirect nearly all uses of iostreams
Diffstat (limited to 'toolsrc/src/vcpkglib.cpp')
-rw-r--r--toolsrc/src/vcpkglib.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/toolsrc/src/vcpkglib.cpp b/toolsrc/src/vcpkglib.cpp
index ad359612e..cc70b86b0 100644
--- a/toolsrc/src/vcpkglib.cpp
+++ b/toolsrc/src/vcpkglib.cpp
@@ -72,7 +72,7 @@ namespace vcpkg
}
}
- std::fstream(status_file_new, std::ios_base::out | std::ios_base::binary | std::ios_base::trunc) << current_status_db;
+ fs.write_contents(status_file_new, Strings::serialize(current_status_db));
fs.rename(status_file_new, status_file);
@@ -90,13 +90,14 @@ namespace vcpkg
void write_update(const VcpkgPaths& paths, const StatusParagraph& p)
{
static int update_id = 0;
+ auto& fs = paths.get_filesystem();
+
auto my_update_id = update_id++;
auto tmp_update_filename = paths.vcpkg_dir_updates / "incomplete";
auto update_filename = paths.vcpkg_dir_updates / std::to_string(my_update_id);
- std::fstream file(tmp_update_filename, std::ios_base::out | std::ios_base::binary | std::ios_base::trunc);
- file << p;
- file.close();
- paths.get_filesystem().rename(tmp_update_filename, update_filename);
+
+ fs.write_contents(tmp_update_filename, Strings::serialize(p));
+ fs.rename(tmp_update_filename, update_filename);
}
static void upgrade_to_slash_terminated_sorted_format(Files::Filesystem& fs, std::vector<std::string>* lines, const fs::path& listfile_path)