proto: fix unary operators in runtime
This commit is contained in:
@@ -198,13 +198,13 @@ class CodedInputStream(val buffer: ByteArray) {
|
|||||||
// reads zig-zag encoded integer not larger than 32-bit long
|
// reads zig-zag encoded integer not larger than 32-bit long
|
||||||
fun readZigZag32NoTag(): Int {
|
fun readZigZag32NoTag(): Int {
|
||||||
val value = readInt32NoTag()
|
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
|
// reads zig-zag encoded integer not larger than 64-bit long
|
||||||
fun readZigZag64NoTag(): Long {
|
fun readZigZag64NoTag(): Long {
|
||||||
val value = readInt64NoTag()
|
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
|
// checks if at least one more byte can be read from underlying input stream
|
||||||
|
|||||||
Reference in New Issue
Block a user