From d3bb94919ab946c5e47989c41c75ce55c95815f8 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 20 Oct 2025 22:34:09 -0700 Subject: [PATCH] Report progress when reading PBF files --- include/osmium/io/detail/pbf_input_format.hpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/osmium/io/detail/pbf_input_format.hpp b/include/osmium/io/detail/pbf_input_format.hpp index fc4b70d1..814181bb 100644 --- a/include/osmium/io/detail/pbf_input_format.hpp +++ b/include/osmium/io/detail/pbf_input_format.hpp @@ -124,6 +124,11 @@ namespace osmium { if (!osmium::io::detail::read_exactly(m_fd, buffer.data(), static_cast(buffer.size()))) { return 0; // EOF } + + if (m_offset_ptr) { + *m_offset_ptr += buffer.size(); + } + return check_size(get_size_in_network_byte_order(buffer.data())); } @@ -210,6 +215,10 @@ namespace osmium { if (!osmium::io::detail::read_exactly(m_fd, &*buffer.begin(), static_cast(size))) { throw osmium::pbf_error{"unexpected EOF"}; } + + if (m_offset_ptr) { + *m_offset_ptr += buffer.size(); + } } else { ensure_available_in_input_queue(size); buffer.append(m_input_buffer, 0, size);