Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2011-09-05 17:25:01 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:23:07 +0300
commita0cf3c14137bd3ed863b607015d882ae54ffdfcf (patch)
tree4583ce49a9bcb9556968fc51c5e591a14448cae2 /coding/file_container.cpp
parent4f31145f6509610e6d6cf287b82951b65756919e (diff)
Add truncate to FileWriter routine.
Diffstat (limited to 'coding/file_container.cpp')
-rw-r--r--coding/file_container.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/coding/file_container.cpp b/coding/file_container.cpp
index 7e5cacc994..718afb2c90 100644
--- a/coding/file_container.cpp
+++ b/coding/file_container.cpp
@@ -179,6 +179,7 @@ FileWriter FilesContainerW::GetWriter(Tag const & tag)
FileWriter writer(m_name, FileWriter::OP_WRITE_EXISTING);
writer.Seek(curr);
+ writer.Truncate(curr);
return writer;
}
else
@@ -224,16 +225,14 @@ void FilesContainerW::Finish()
{
ASSERT(!m_bFinished, ());
- {
- uint64_t const curr = SaveCurrentSize();
- FileWriter writer(m_name, FileWriter::OP_WRITE_EXISTING);
- writer.Seek(0);
- WriteToSink(writer, curr);
- }
+ uint64_t const curr = SaveCurrentSize();
- sort(m_info.begin(), m_info.end(), LessInfo());
+ FileWriter writer(m_name, FileWriter::OP_WRITE_EXISTING);
+ writer.Seek(0);
+ WriteToSink(writer, curr);
+ writer.Seek(curr);
- FileWriter writer(m_name, FileWriter::OP_APPEND);
+ sort(m_info.begin(), m_info.end(), LessInfo());
uint32_t const count = m_info.size();
WriteVarUint(writer, count);