From 5c442c8aae637510d05276890dfb7f08106f35bd Mon Sep 17 00:00:00 2001 From: Victor Castillo Date: Mon, 24 Jun 2024 18:06:01 +0200 Subject: [PATCH] Fixed block iteration withing a file The `File` object only holds a shallow reference to its `Lane` (without the list of blocks). So we must retrieve the full reference manually. --- .../libs/ion_gnss_sdr_metadata_standard.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/algorithms/signal_source/libs/ion_gnss_sdr_metadata_standard.cc b/src/algorithms/signal_source/libs/ion_gnss_sdr_metadata_standard.cc index 9466e798f..45e3eebbe 100644 --- a/src/algorithms/signal_source/libs/ion_gnss_sdr_metadata_standard.cc +++ b/src/algorithms/signal_source/libs/ion_gnss_sdr_metadata_standard.cc @@ -46,10 +46,14 @@ std::vector GnssMetadataHandler::make_stream_sou std::vector sources{}; for (const auto& file : metadata_.Files()) { - for (const auto& block : file.Lane().Blocks()) + for (const auto& lane : metadata_.Lanes()) { - for (const auto& chunk : block.Chunks()) + if (lane.Id() == file.Lane().Id()) { + for (const auto& block : lane.Blocks()) + { + for (const auto& chunk : block.Chunks()) + { for (const auto& lump : chunk.Lumps()) { for (const auto& stream : lump.Streams()) @@ -71,8 +75,11 @@ std::vector GnssMetadataHandler::make_stream_sou } } } + } + next_block: + } + break; } - next_block: } }