Program: gdcm
Module: $RCSfile: gdcmDocument.h,v $
Language: C++
- Date: $Date: 2007/12/03 11:47:40 $
- Version: $Revision: 1.149 $
+ Date: $Date: 2008/01/04 13:32:01 $
+ Version: $Revision: 1.151 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
uint32_t UnswapLong(uint32_t a) { return SwapLong(a);}
// Read
- void ParseDES(DocEntrySet *set, long offset, long l_max, bool delim_mode);
+ bool ParseDES(DocEntrySet *set, long offset, long l_max, bool delim_mode);
bool ParseSQ (SeqEntry *seq, long offset, long l_max, bool delim_mode);
void LoadDocEntry (DocEntry *e, bool forceLoad = false);
void HandleBrokenEndian (uint16_t &group, uint16_t &elem);
void HandleOutOfGroup0002(uint16_t &group, uint16_t &elem);
- DocEntry *Backtrack(DocEntry *docEntry);
-
-// Variables
+ DocEntry *Backtrack(DocEntry *docEntry, DocEntrySet *set);
+ DataEntry *BacktrackSQtoOB(SeqEntry *docEntry, DocEntrySet *set);
protected:
/// value of the ??? for any progress bar
float Progress;
bool changeFromUN;
/// \brief whether an unexpected EOF was encountered
bool UnexpectedEOF;
+ /// \brief to avoid infinite loop when illegal UN stands for OB
+ size_t OffsetOfPreviousParseDES;
};
} // end namespace gdcm