summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSen Jiang <senj@google.com>2018-04-10 15:06:48 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-04-10 15:06:48 -0700
commitd1d34782a16f21d4f8564e691c4258c0097beec5 (patch)
tree11da834207f4550a175063219e58c52ac89829e9
parent85fd25412a625a8fb0dce3f6a599f789a40db580 (diff)
parentaa1c9404c787ddfb7f0eb2d46f3af5e1ed838412 (diff)
downloadbsdiff-d1d34782a16f21d4f8564e691c4258c0097beec5.tar.gz
Merge "Exit loop ealier when matching lastoffset." am: 365012ab68
am: aa1c9404c7 Change-Id: I0658fcfd95338d431b4e86ab5302966eeb924bf5
-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;