Index: courgette/courgette_tool.cc |
diff --git a/courgette/courgette_tool.cc b/courgette/courgette_tool.cc |
index d0fdb4e62bd5436f81a48bc6caa21b24359df31b..7ffe1e2ebb87da65a23daef101c35efdcf8a7e46 100644 |
--- a/courgette/courgette_tool.cc |
+++ b/courgette/courgette_tool.cc |
@@ -57,20 +57,17 @@ void Problem(const char* format, ...) { |
class BufferedFileReader { |
public: |
BufferedFileReader(const base::FilePath& file_name, const char* kind) { |
- int64_t file_size = 0; |
- if (!base::GetFileSize(file_name, &file_size)) |
- Problem("Can't read %s file.", kind); |
- buffer_.reserve(static_cast<size_t>(file_size)); |
- if (!base::ReadFileToString(file_name, &buffer_)) |
+ if (!buffer_.Initialize(file_name)) { |
Problem("Can't read %s file.", kind); |
+ } |
huangs
2016/07/14 21:25:55
Can skip {}.
etiennep
2016/07/14 21:32:17
Done.
|
} |
- const uint8_t* data() { |
- return reinterpret_cast<const uint8_t*>(buffer_.data()); |
+ const uint8_t* data() const { |
huangs
2016/07/14 21:25:55
Move into 1 line like length()? Or make length() m
etiennep
2016/07/14 21:32:17
Done.
|
+ return buffer_.data(); |
} |
- size_t length() { return buffer_.length(); } |
+ size_t length() const { return buffer_.length(); } |
private: |
- std::string buffer_; |
+ base::MemoryMappedFile buffer_; |
}; |
void WriteSinkToFile(const courgette::SinkStream *sink, |