From: jpr Date: Mon, 29 Mar 2004 14:18:30 +0000 (+0000) Subject: FIX : gdcmObject::ResetBoundaries now stops properly when end-of-list is reached X-Git-Tag: Version0.5.bp~267 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=e1ffd4c059b41b2b1aae3ad6c44e23714ecacfd6;p=gdcm.git FIX : gdcmObject::ResetBoundaries now stops properly when end-of-list is reached --- diff --git a/src/gdcmObject.cxx b/src/gdcmObject.cxx index 72b41f23..f9a47606 100644 --- a/src/gdcmObject.cxx +++ b/src/gdcmObject.cxx @@ -92,19 +92,23 @@ std::string gdcmObject::GetEntryByName(TagName name) { * @param flag = 0 when META to be dealt with */ void gdcmObject::ResetBoundaries(int flag) { - + if (flag) { // it's NOT a META // upwards to fffe,e000 - for( i=j=debut(); - ((*i)->GetGroup() != 0xfffe) && ((*i)->GetElement() != 0x0000); - --i,j--) { - } + for( i=j=debut(); + ((*i)->GetGroup() != 0xfffe) && ((*i)->GetElement() != 0xe000); + --i,j--) { + } beginObj=j; } - // downwards to fffe,e000 + // upwards again to fffe,e000 + if (fin()== (--(plistEntries->end())) ) // Don't try anything more when end + return; // of Chained List is reached + + for( i=j=fin(); - ((*i)->GetGroup() != 0xfffe) && ((*i)->GetElement() != 0x0000); + ((*i)->GetGroup() != 0xfffe) && ((*i)->GetElement() != 0xe000); --i,j--) { } j--;