Merge "Add comment explaining why we need custom logic to parse int"

This commit is contained in:
Treehugger Robot authored and Gerrit Code Review committed 2021-04-20 01:21:29 +00:00
commit be81a990b3
1 file changed
+5
+5
View File
@@ -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;