From: David Kalnischkies Date: Tue, 10 Jan 2012 11:05:12 +0000 (+0100) Subject: as Size() can be quiet expensive for compressed files lets store the result X-Git-Tag: 0.9.0~34^2~4 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/f23a94d53e451448b80b6aa5b52b5ba418e508a9?hp=--cc as Size() can be quiet expensive for compressed files lets store the result --- f23a94d53e451448b80b6aa5b52b5ba418e508a9 diff --git a/methods/rred.cc b/methods/rred.cc index bf9294d96..e37a12ed9 100644 --- a/methods/rred.cc +++ b/methods/rred.cc @@ -235,7 +235,9 @@ RredMethod::State RredMethod::patchMMap(FileFd &Patch, FileFd &From, /*{{{*/ MMap ed_cmds(Patch, MMap::ReadOnly); MMap in_file(From, MMap::ReadOnly); - if (ed_cmds.Size() == 0 || in_file.Size() == 0) + unsigned long long const ed_size = ed_cmds.Size(); + unsigned long long const in_size = in_file.Size(); + if (ed_size == 0 || in_size == 0) return MMAP_FAILED; EdCommand* commands = 0; @@ -244,10 +246,10 @@ RredMethod::State RredMethod::patchMMap(FileFd &Patch, FileFd &From, /*{{{*/ const char* begin = (char*) ed_cmds.Data(); const char* end = begin; - const char* ed_end = (char*) ed_cmds.Data() + ed_cmds.Size(); + const char* ed_end = (char*) ed_cmds.Data() + ed_size; const char* input = (char*) in_file.Data(); - const char* input_end = (char*) in_file.Data() + in_file.Size(); + const char* input_end = (char*) in_file.Data() + in_size; size_t i;