Chromium Code Reviews| 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, |