misc: Fix the indentation in DecodeVarint in util/protolib.py.
authorGabe Black <gabeblack@google.com>
Thu, 5 Oct 2017 02:19:22 +0000 (19:19 -0700)
committerGabe Black <gabeblack@google.com>
Thu, 5 Oct 2017 09:14:50 +0000 (09:14 +0000)
The DecodeVarint was, as a comment describes, lifted from
google.protobuf.internal.decoder. Unfortunately, the relative indentation of
some lines was changed, changing what scope they fell under. This changed the
behavior of the function, breaking it for multibyte and negative values.

This change restores the correct indentation and fixes the function's
behavior.

Change-Id: If645649506b0fe5a617b37a8202c9ca1c57aaf15
Reviewed-on: https://gem5-review.googlesource.com/5000
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

util/protolib.py

index 47ac8768f4ab2f0b88cab7a4e7dcb028293657da..c8c6d0c49b9f470bcb6274dfb6838e965965860b 100644 (file)
@@ -123,10 +123,10 @@ def DecodeVarint(in_file):
                 result |= ~mask
             else:
                 result &= mask
-                return (result, pos)
-            shift += 7
-            if shift >= 64:
-                raise IOError('Too many bytes when decoding varint.')
+            return (result, pos)
+        shift += 7
+        if shift >= 64:
+            raise IOError('Too many bytes when decoding varint.')
 
 def decodeMessage(in_file, message):
     """