diff options
-rw-r--r-- | src/build_log.cc | 15 | ||||
-rw-r--r-- | src/build_log.h | 3 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/build_log.cc b/src/build_log.cc index 19e1c14..28fcf88 100644 --- a/src/build_log.cc +++ b/src/build_log.cc @@ -91,6 +91,15 @@ uint64_t BuildLog::LogEntry::HashCommand(StringPiece command) { return MurmurHash64A(command.str_, command.len_); } +BuildLog::LogEntry::LogEntry(const string& _output) + : output(_output) {} + +BuildLog::LogEntry::LogEntry(const string& _output, uint64_t _command_hash, + int _start_time, int _end_time, TimeStamp _restat_mtime) + : output(_output), command_hash(_command_hash), + start_time(_start_time), end_time(_end_time), restat_mtime(_restat_mtime) +{} + BuildLog::BuildLog() : log_file_(NULL), needs_recompaction_(false) {} @@ -139,8 +148,7 @@ void BuildLog::RecordCommand(Edge* edge, int start_time, int end_time, if (i != entries_.end()) { log_entry = i->second; } else { - log_entry = new LogEntry; - log_entry->output = path; + log_entry = new LogEntry(path); entries_.insert(Entries::value_type(log_entry->output, log_entry)); } log_entry->command_hash = command_hash; @@ -288,8 +296,7 @@ bool BuildLog::Load(const string& path, string* err) { if (i != entries_.end()) { entry = i->second; } else { - entry = new LogEntry; - entry->output = output; + entry = new LogEntry(output); entries_.insert(Entries::value_type(entry->output, entry)); ++unique_entry_count; } diff --git a/src/build_log.h b/src/build_log.h index 4141ff3..5a3b516 100644 --- a/src/build_log.h +++ b/src/build_log.h @@ -60,6 +60,9 @@ struct BuildLog { start_time == o.start_time && end_time == o.end_time && restat_mtime == o.restat_mtime; } + + explicit LogEntry(const string& output); + LogEntry(const string& output, uint64_t command_hash, int start_time, int end_time, TimeStamp restat_mtime); }; /// Lookup a previously-run command by its output path. |