summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSen Jiang <senj@google.com>2018-04-10 15:01:17 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-04-10 15:01:17 -0700
commitaa1c9404c787ddfb7f0eb2d46f3af5e1ed838412 (patch)
tree11da834207f4550a175063219e58c52ac89829e9
parent48d4e28696856a60e11a53f89ca331dd3e4fcd4a (diff)
parent365012ab684d0f628220eecce620b1d84bec8002 (diff)
downloadbsdiff-aa1c9404c787ddfb7f0eb2d46f3af5e1ed838412.tar.gz
Merge "Exit loop ealier when matching lastoffset."
am: 365012ab68 Change-Id: Ib1229a6f32fc99d76ee6f0b48b6576aa7250b953
-rw-r--r--bsdiff.cc7
1 files changed, 3 insertions, 4 deletions
diff --git a/bsdiff.cc b/bsdiff.cc
index c775bdf..8bb21b7 100644
--- a/bsdiff.cc
+++ b/bsdiff.cc
@@ -114,10 +114,9 @@ int bsdiff(const uint8_t* old_buf, size_t oldsize, const uint8_t* new_buf,
sai->SearchPrefix(new_buf + scan, newsize - scan, &len, &pos);
- for(;scsc<scan+len;scsc++)
- if((scsc+lastoffset<oldsize) &&
- (old_buf[scsc+lastoffset] == new_buf[scsc]))
- oldscore++;
+ for(;scsc<scan+len && scsc+lastoffset<oldsize;scsc++)
+ if(old_buf[scsc+lastoffset] == new_buf[scsc])
+ oldscore++;
if(((len==oldscore) && (len!=0)) ||
(len>oldscore+8 && len>=min_length)) break;