Merge "Add comment explaining why we need custom logic to parse int" am: be81a990b3 am: 94af5fff58 am: 30ed9f9151

Original change: https://android-review.googlesource.com/c/platform/external/bsdiff/+/1680665

Change-Id: If7f10430533b6386582c7a96d9076b79aee762d2
diff --git a/utils.cc b/utils.cc
index c3e613e..c82eb98 100644
--- a/utils.cc
+++ b/utils.cc
@@ -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;