diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2021-04-21 01:02:07 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2021-04-21 01:02:07 +0000 |
commit | 78b6bd03de79240c228e4b0754c43c44204c7c6a (patch) | |
tree | 6a5fca95ce93294ff06b53dbdfd4e3a81548cea3 | |
parent | fc83fad894d59efa17a8c7ef399ae84a9bc4a4e4 (diff) | |
parent | 27b55c2640bf9bcff7fb17d4651d6a36f1645760 (diff) | |
download | bsdiff-android12-d1-s2-release.tar.gz |
Snap for 7298338 from 27b55c2640bf9bcff7fb17d4651d6a36f1645760 to sc-d1-releaseandroid-12.0.0_r7android-12.0.0_r6android-12.0.0_r5android-12.0.0_r4android-12.0.0_r15android-12.0.0_r14android-12.0.0_r13android-12.0.0_r12android12-d1-s6-releaseandroid12-d1-s5-releaseandroid12-d1-s4-releaseandroid12-d1-s3-releaseandroid12-d1-s2-releaseandroid12-d1-s1-releaseandroid12-d1-release
Change-Id: I957f1f211476be0798e8071d01957589b38bac9a
-rw-r--r-- | utils.cc | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -7,6 +7,11 @@ namespace bsdiff { int64_t ParseInt64(const uint8_t* buf) { + // BSPatch uses a non-standard encoding of integers. + // Highest bit of that integer is used as a sign bit, 1 = negative + // and 0 = positive. + // Therefore, if the highest bit is set, flip it, then do 2's complement + // to get the integer in standard form int64_t result = buf[7] & 0x7F; for (int i = 6; i >= 0; i--) { result <<= 8; |