]> Creatis software - gdcm.git/commitdiff
FIX : gdcmObject::ResetBoundaries now stops properly when end-of-list is reached
authorjpr <jpr>
Mon, 29 Mar 2004 14:18:30 +0000 (14:18 +0000)
committerjpr <jpr>
Mon, 29 Mar 2004 14:18:30 +0000 (14:18 +0000)
src/gdcmObject.cxx

index 72b41f234af01fe6104e633e663fe1f39f567c19..f9a4760655cefb6d3c3762ef916b167ed40d44f0 100644 (file)
@@ -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--;