diff --git a/toml/parser.hpp b/toml/parser.hpp index 56fe4e9..6927f93 100644 --- a/toml/parser.hpp +++ b/toml/parser.hpp @@ -1059,8 +1059,6 @@ struct parse_data template> toml::Table parse(std::basic_istream& is) { - const auto curloc = is.getloc(); - is.imbue(std::locale("en_US.utf-8")); const auto initial = is.tellg(); is.seekg(0, std::ios::end); const auto eofpos = is.tellg(); @@ -1068,13 +1066,12 @@ toml::Table parse(std::basic_istream& is) is.seekg(initial); std::vector contents(size); is.read(contents.data(), size); - is.imbue(curloc); return parse_data::invoke(contents.cbegin(), contents.cend()); } toml::Table parse(const std::string& filename) { - std::ifstream ifs(filename); + std::ifstream ifs(filename, std::ios::binary); if(!ifs.good()) throw std::runtime_error("file open error: " + filename); return parse(ifs); }