From 6b175e1ed8a183e2fc43fa93df394159a461c07f Mon Sep 17 00:00:00 2001 From: jpr Date: Tue, 30 Mar 2004 14:26:33 +0000 Subject: [PATCH] FIX gdcmParser::ReplaceOrCreateByNumber shouldn't seg fault any more (hope so...) --- src/gdcmDicomDir.cxx | 14 +++++++------- src/gdcmFile.cxx | 1 - src/gdcmHeaderEntry.h | 2 +- src/gdcmObject.cxx | 3 +-- src/gdcmObject.h | 1 - src/gdcmParser.cxx | 4 ++-- 6 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/gdcmDicomDir.cxx b/src/gdcmDicomDir.cxx index fb566c62..0ae78107 100644 --- a/src/gdcmDicomDir.cxx +++ b/src/gdcmDicomDir.cxx @@ -446,13 +446,13 @@ void gdcmDicomDir::CheckBoundaries() itImage = ((*itSerie)->GetDicomDirImages()).begin(); while (itImage != (*itSerie)->GetDicomDirImages().end() ) { (*itImage)->ResetBoundaries(1); - ++itImage; - } - ++itSerie; - } - ++itStudy; - } - ++itPatient; + ++itImage; + } + ++itSerie; + } + ++itStudy; + } + ++itPatient; } } diff --git a/src/gdcmFile.cxx b/src/gdcmFile.cxx index 2ae2bd09..4477a95d 100644 --- a/src/gdcmFile.cxx +++ b/src/gdcmFile.cxx @@ -721,7 +721,6 @@ bool gdcmFile::WriteBase (std::string fileName, FileType type) { //PixelElement->SetPrintLevel(2); //PixelElement->Print(); - Header->Write(fp1, type); // -------------------------------------------------------------- diff --git a/src/gdcmHeaderEntry.h b/src/gdcmHeaderEntry.h index 6242cba2..1dbc5cd2 100644 --- a/src/gdcmHeaderEntry.h +++ b/src/gdcmHeaderEntry.h @@ -132,7 +132,7 @@ public: * \brief Sets the value (string) * of the current Dicom Header Entry */ - inline void SetValue(std::string val) { value = val; }; + inline void SetValue(std::string val) { value = val; }; /** * \ingroup gdcmHeaderEntry diff --git a/src/gdcmObject.cxx b/src/gdcmObject.cxx index f9a47606..d4527bc1 100644 --- a/src/gdcmObject.cxx +++ b/src/gdcmObject.cxx @@ -105,8 +105,7 @@ void gdcmObject::ResetBoundaries(int flag) { // 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() != 0xe000); --i,j--) { diff --git a/src/gdcmObject.h b/src/gdcmObject.h index e3be05aa..a7b0665b 100644 --- a/src/gdcmObject.h +++ b/src/gdcmObject.h @@ -63,7 +63,6 @@ protected: TagHeaderEntryHT *ptagHT, ListTag *plistEntries); ~gdcmObject(void); - void FillObject(std::list elemList); /** diff --git a/src/gdcmParser.cxx b/src/gdcmParser.cxx index d75aae58..8c650206 100644 --- a/src/gdcmParser.cxx +++ b/src/gdcmParser.cxx @@ -401,7 +401,7 @@ gdcmHeaderEntry * gdcmParser::ReplaceOrCreateByNumber( gdcmHeaderEntry* a; a = GetHeaderEntryByNumber( Group, Elem); if (a == NULL) { - gdcmHeaderEntry *a = NewHeaderEntryByNumber(Group, Elem); + a =NewHeaderEntryByNumber(Group, Elem); if (a == NULL) return NULL; AddHeaderEntry(a); @@ -1099,7 +1099,7 @@ bool gdcmParser::WriteEntry(gdcmHeaderEntry *tag, FILE *_fp,FileType type) bool gdcmParser::WriteEntries(FILE *_fp,FileType type) { // TODO (?) tester les echecs en ecriture (apres chaque fwrite) - + for (ListTag::iterator tag2=listEntries.begin(); tag2 != listEntries.end(); ++tag2) -- 2.46.1