diff options
Diffstat (limited to 'storage/country.cpp')
-rw-r--r-- | storage/country.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/storage/country.cpp b/storage/country.cpp index 0a590a153b..bb42b4e87b 100644 --- a/storage/country.cpp +++ b/storage/country.cpp @@ -98,11 +98,15 @@ namespace storage return true; } - bool LoadCountries(string const & countriesFile, TTilesContainer const & sortedTiles, + bool LoadCountries(file_t const & file, TTilesContainer const & sortedTiles, TCountriesContainer & countries) { countries.Clear(); - ifstream stream(countriesFile.c_str()); + + string buffer; + file.ReadAsString(buffer); + istringstream stream(buffer); + std::string line; Country * currentCountry = &countries.Value(); while (stream.good()) @@ -174,15 +178,14 @@ namespace storage wStream << commonFiles; } - bool LoadTiles(TTilesContainer & tiles, string const & tilesFile, uint32_t & dataVersion) + bool LoadTiles(file_t const & file, TTilesContainer & tiles, uint32_t & dataVersion) { tiles.clear(); try { - FileReader fileReader(tilesFile); - ReaderSource<FileReader> source(fileReader); - stream::SinkReaderStream<ReaderSource<FileReader> > stream(source); + ReaderSource<file_t> source(file); + stream::SinkReaderStream<ReaderSource<file_t> > stream(source); TDataFiles dataFiles; TCommonFiles commonFiles; |