From ebd7af48a96cac696b025fab869b3611e535de64 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 2 Feb 2009 17:32:03 +0100 Subject: [PATCH] Handle it specially when dwarf_ranges returns 1 --- libdw/c++/dwarf | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libdw/c++/dwarf b/libdw/c++/dwarf index 9ceb4b40a..c241a1340 100644 --- a/libdw/c++/dwarf +++ b/libdw/c++/dwarf @@ -1729,10 +1729,20 @@ namespace elfutils const_iterator &operator++ () // prefix { do - _m_offset = dwarf_ranges (_m_die.thisdie (), _m_offset, - &_m_base, &_m_begin, &_m_end); + { + _m_offset = dwarf_ranges (_m_die.thisdie (), _m_offset, + &_m_base, &_m_begin, &_m_end); + + // Special case: no ranges to look for. + if (_m_offset == 1) + { + _m_offset = 0; + break; + } + } // Skip over empty ranges. while (_m_offset != 0 && _m_begin == _m_end); + return *this; } inline const_iterator operator++ (int) // postfix -- 2.47.3