From 3066144f583d33d84801d77ea42b3b3ba86dfe78 Mon Sep 17 00:00:00 2001 From: Alexey Stepanov Date: Wed, 10 Aug 2016 13:09:28 +0300 Subject: [PATCH] proto: fix unary operators in runtime --- proto/runtime/src/main/kotlin/CodedInputStream.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proto/runtime/src/main/kotlin/CodedInputStream.kt b/proto/runtime/src/main/kotlin/CodedInputStream.kt index 1b37f3ab14a..c4372875d98 100644 --- a/proto/runtime/src/main/kotlin/CodedInputStream.kt +++ b/proto/runtime/src/main/kotlin/CodedInputStream.kt @@ -198,13 +198,13 @@ class CodedInputStream(val buffer: ByteArray) { // reads zig-zag encoded integer not larger than 32-bit long fun readZigZag32NoTag(): Int { val value = readInt32NoTag() - return (value shr 1) xor (0 - (value and 1)) // bit magic for decoding zig-zag number + return (value shr 1) xor (-(value and 1)) // bit magic for decoding zig-zag number } // reads zig-zag encoded integer not larger than 64-bit long fun readZigZag64NoTag(): Long { val value = readInt64NoTag() - return (value shr 1) xor (0 - (value and 1L)) // bit magic for decoding zig-zag number + return (value shr 1) xor (-(value and 1L)) // bit magic for decoding zig-zag number } // checks if at least one more byte can be read from underlying input stream