diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-04-20 04:00:19 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-04-20 04:00:19 +0000 |
commit | 27b55c2640bf9bcff7fb17d4651d6a36f1645760 (patch) | |
tree | 6a5fca95ce93294ff06b53dbdfd4e3a81548cea3 | |
parent | 40db339cf89f41adf11714db918baa151a4a7d86 (diff) | |
parent | 30ed9f91515a8de40199d3dee8642b586a635996 (diff) | |
download | bsdiff-android12-qpr1-d-release.tar.gz |
Merge "Add comment explaining why we need custom logic to parse int" am: be81a990b3 am: 94af5fff58 am: 30ed9f9151android-12.1.0_r9android-12.1.0_r8android-12.1.0_r7android-12.1.0_r22android-12.1.0_r21android-12.1.0_r20android-12.1.0_r19android-12.1.0_r11android-12.1.0_r10android-12.0.0_r32android-12.0.0_r29android-12.0.0_r28android-12.0.0_r27android-12.0.0_r26android-12.0.0_r21android-12.0.0_r20android-12.0.0_r19android-12.0.0_r18android-12.0.0_r16android12L-devandroid12-qpr3-s7-releaseandroid12-qpr3-s6-releaseandroid12-qpr3-s5-releaseandroid12-qpr3-s4-releaseandroid12-qpr3-s3-releaseandroid12-qpr3-s2-releaseandroid12-qpr3-s1-releaseandroid12-qpr3-releaseandroid12-qpr1-releaseandroid12-qpr1-d-s3-releaseandroid12-qpr1-d-s2-releaseandroid12-qpr1-d-s1-releaseandroid12-qpr1-d-releaseandroid12-dev
Original change: https://android-review.googlesource.com/c/platform/external/bsdiff/+/1680665
Change-Id: If7f10430533b6386582c7a96d9076b79aee762d2
-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; |