From 57d4f0bfe5e9de9ee5456252a31f05e69d90ce92 Mon Sep 17 00:00:00 2001 From: Joe-houghton Date: Tue, 16 Feb 2021 15:04:41 +0000 Subject: [PATCH] Sint was not using ZigZag This caused problems with with the Keys and Values not lining up and also the values could be wrong #45 --- src/PbfReader/PbfReader.cs | 6 +++++- src/VectorTileReader/VectorTileReader.cs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/PbfReader/PbfReader.cs b/src/PbfReader/PbfReader.cs index 59e2488..e920689 100644 --- a/src/PbfReader/PbfReader.cs +++ b/src/PbfReader/PbfReader.cs @@ -74,7 +74,11 @@ public long Varint() } - + public long SInt() + { + long varint = Varint(); + return decodeZigZag64(varint); + } /// /// Get a view into the buffer. /// TODO: refactor to return a DataView instead of a byte array diff --git a/src/VectorTileReader/VectorTileReader.cs b/src/VectorTileReader/VectorTileReader.cs index 292ab51..5737220 100644 --- a/src/VectorTileReader/VectorTileReader.cs +++ b/src/VectorTileReader/VectorTileReader.cs @@ -192,7 +192,7 @@ private VectorTileLayer getLayer(byte[] data) layer.Values.Add(u64); break; case ValueType.SInt: - long s64 = valReader.Varint(); + long s64 = valReader.SInt(); layer.Values.Add(s64); break; case ValueType.Bool: