From: Petr Machata Date: Mon, 2 Feb 2009 16:32:03 +0000 (+0100) Subject: Handle it specially when dwarf_ranges returns 1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ebd7af48a96cac696b025fab869b3611e535de64;p=thirdparty%2Felfutils.git Handle it specially when dwarf_ranges returns 1 --- 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