From 9fec10000a31c8eaefa36a784eb993c26394fd9f Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 28 Aug 2022 19:07:30 +0200 Subject: [PATCH] patterns: Fixed ZigZag encoding in protobuf pattern --- patterns/protobuf.hexpat | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patterns/protobuf.hexpat b/patterns/protobuf.hexpat index 8b8e341..492e530 100644 --- a/patterns/protobuf.hexpat +++ b/patterns/protobuf.hexpat @@ -7,7 +7,7 @@ struct ZigZag32 { } [[sealed, format("format_zigzag32")]]; fn format_zigzag32(ZigZag32 zigzag) { - return s32((zigzag.value << 1) ^ (zigzag.value >> 31)); + return s32((s32(zigzag.value) << 1) ^ (s32(zigzag.value) >> 31)); }; struct ZigZag64 { @@ -15,7 +15,7 @@ struct ZigZag64 { } [[sealed, format("format_zigzag64")]]; fn format_zigzag64(ZigZag64 zigzag) { - return s64((zigzag.value << 1) ^ (zigzag.value >> 63)); + return s64((s64(zigzag.value) << 1) ^ (s64(zigzag.value) >> 63)); }; enum WireType : u8 { @@ -63,4 +63,4 @@ struct Entry { _32Bit value; }; -Entry entries[while(!std::mem::eof())] @ 0x00; \ No newline at end of file +Entry entries[while(!std::mem::eof())] @ 0x00;