diff --git a/generator/feature_generator.cpp b/generator/feature_generator.cpp index b51cc4f0f0..5eb1e9c17a 100644 --- a/generator/feature_generator.cpp +++ b/generator/feature_generator.cpp @@ -41,9 +41,13 @@ FeaturesCollector::~FeaturesCollector() FlushBuffer(); /// Check file size (void)GetFileSize(m_datFile); - uint64_t terminator = 0; - m_dumpFileStream.write(reinterpret_cast(&terminator), sizeof(terminator)); - m_dumpFileStream.close(); + if (!m_dumpFileName.empty()) + { + uint64_t terminator = 0; + m_dumpFileStream.write(reinterpret_cast(&terminator), sizeof(terminator)); + m_dumpFileStream.close(); + LOG(LINFO, ("Dumped", m_featureCounter, "features into", m_dumpFileName)); + } } uint32_t FeaturesCollector::GetFileSize(FileWriter const & f) @@ -123,12 +127,14 @@ void FeaturesCollector::DumpFeatureGeometry(FeatureBuilder1 const & fb) if (geom.empty()) return; - uint64_t num_geometries = geom.size(); - m_dumpFileStream.write(reinterpret_cast(&num_geometries), sizeof(num_geometries)); + ++m_featureCounter; + + uint64_t numGeometries = geom.size(); + m_dumpFileStream.write(reinterpret_cast(&numGeometries), sizeof(numGeometries)); for (FeatureBuilder1::TPointSeq const & points : geom) { - uint64_t num_points = points.size(); - m_dumpFileStream.write(reinterpret_cast(&num_points), sizeof(num_points)); + uint64_t numPoints = points.size(); + m_dumpFileStream.write(reinterpret_cast(&numPoints), sizeof(numPoints)); m_dumpFileStream.write(reinterpret_cast(points.data()), sizeof(FeatureBuilder1::TPointSeq::value_type) * points.size()); } } @@ -143,5 +149,4 @@ void FeaturesCollector::operator() (FeatureBuilder1 const & fb) DumpFeatureGeometry(fb); } - } diff --git a/generator/feature_generator.hpp b/generator/feature_generator.hpp index 46fdca6ead..a85a7c94fb 100644 --- a/generator/feature_generator.hpp +++ b/generator/feature_generator.hpp @@ -19,6 +19,7 @@ namespace feature char m_writeBuffer[48000]; size_t m_writePosition = 0; uint32_t m_baseOffset = 0; + size_t m_featureCounter = 0; protected: FileWriter m_datFile;