diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2021-04-21 22:26:54 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2021-04-21 22:26:54 +0000 |
commit | 3a5ee26e7bd1f70dfca1f8f96e3b3613315eae4d (patch) | |
tree | 6a5fca95ce93294ff06b53dbdfd4e3a81548cea3 | |
parent | 40db339cf89f41adf11714db918baa151a4a7d86 (diff) | |
parent | 27b55c2640bf9bcff7fb17d4651d6a36f1645760 (diff) | |
download | bsdiff-android-mainline-12.0.0_r36.tar.gz |
Snap for 7302986 from 27b55c2640bf9bcff7fb17d4651d6a36f1645760 to sc-mainline-releaseandroid-mainline-12.0.0_r4android-mainline-12.0.0_r36android12--mainline-release
Change-Id: I4f2d50b685bd8072433caf0f0cb57eec32cfef07
-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; |