From ef0c74b2a26947ed2e77a731e776631d11c138c3 Mon Sep 17 00:00:00 2001 From: George Boot <884482+georgeboot@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:36:52 +0100 Subject: [PATCH 1/2] Forward srid to children of multitype container items --- src/ewkb.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ewkb.rs b/src/ewkb.rs index ae325d6..7b1ae6f 100644 --- a/src/ewkb.rs +++ b/src/ewkb.rs @@ -571,7 +571,9 @@ macro_rules! impl_read_for_geometry_container_type { let mut $itemname: Vec<$itemtype
> = vec![]; let size = read_u32(raw, is_be)? as usize; for _ in 0..size { - $itemname.push($itemtype::read_ewkb(raw)?); + let _byte_order = raw.read_i8()?; + let type_id = read_u32(raw, is_be)?; + $itemname.push($itemtype::read_ewkb_body(raw, is_be, type_id, srid)?); } Ok($geotype::
{
$itemname: $itemname,
From 01161d9d5a6626936f1f18bb839e40f3f7e377b4 Mon Sep 17 00:00:00 2001
From: George Boot <884482+georgeboot@users.noreply.github.com>
Date: Wed, 4 Dec 2024 14:12:18 +0100
Subject: [PATCH 2/2] Add test
---
src/ewkb.rs | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/ewkb.rs b/src/ewkb.rs
index 7b1ae6f..fde2eb0 100644
--- a/src/ewkb.rs
+++ b/src/ewkb.rs
@@ -1885,3 +1885,21 @@ fn test_iterators() {
let line = self::LineStringT::