Fingerprint .names

This commit is contained in:
Pepijn Schoen 2017-04-08 14:18:20 +02:00 committed by Patrick Niklaus
parent a196d5ced3
commit 12c11f1d48
3 changed files with 7 additions and 3 deletions

View File

@ -175,6 +175,10 @@ void ExtractionContainers::WriteCharData(const std::string &file_name)
TIMER_START(write_index); TIMER_START(write_index);
boost::filesystem::ofstream file(file_name, std::ios::binary); boost::filesystem::ofstream file(file_name, std::ios::binary);
// TODO wrap this in a FileWriter
const auto fingerprint = util::FingerPrint::GetValid();
file.write(reinterpret_cast<const char *>(&fingerprint), sizeof(util::FingerPrint));
const util::NameTable::IndexedData indexed_data; const util::NameTable::IndexedData indexed_data;
indexed_data.write(file, name_offsets.begin(), name_offsets.end(), name_char_data.begin()); indexed_data.write(file, name_offsets.begin(), name_offsets.end(), name_char_data.begin());

View File

@ -213,7 +213,7 @@ void Storage::PopulateLayout(DataLayout &layout)
{ {
util::Log() << "load names from: " << config.names_data_path; util::Log() << "load names from: " << config.names_data_path;
// number of entries in name index // number of entries in name index
io::FileReader name_file(config.names_data_path, io::FileReader::HasNoFingerprint); io::FileReader name_file(config.names_data_path, io::FileReader::VerifyFingerprint);
layout.SetBlockSize<char>(DataLayout::NAME_CHAR_DATA, name_file.GetSize()); layout.SetBlockSize<char>(DataLayout::NAME_CHAR_DATA, name_file.GetSize());
} }
@ -529,7 +529,7 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
// Name data // Name data
{ {
io::FileReader name_file(config.names_data_path, io::FileReader::HasNoFingerprint); io::FileReader name_file(config.names_data_path, io::FileReader::VerifyFingerprint);
std::size_t name_file_size = name_file.GetSize(); std::size_t name_file_size = name_file.GetSize();
BOOST_ASSERT(name_file_size == layout.GetBlockSize(DataLayout::NAME_CHAR_DATA)); BOOST_ASSERT(name_file_size == layout.GetBlockSize(DataLayout::NAME_CHAR_DATA));

View File

@ -11,7 +11,7 @@ NameTable::NameTable(const std::string &file_name)
{ {
using FileReader = storage::io::FileReader; using FileReader = storage::io::FileReader;
FileReader name_stream_file_reader(file_name, FileReader::HasNoFingerprint); FileReader name_stream_file_reader(file_name, FileReader::VerifyFingerprint);
const auto file_size = name_stream_file_reader.GetSize(); const auto file_size = name_stream_file_reader.GetSize();
m_buffer = BufferType(static_cast<ValueType *>(::operator new(file_size)), m_buffer = BufferType(static_cast<ValueType *>(::operator new(file_size)),