if(strlen(FileName)==1 && FileName[0]=='.') { // user passed '.' as Name
// we get current directory name
- char*dummy=(char*) malloc(1000);
- getcwd(dummy,(size_t)1000);
+ char* dummy= new char[1000];
+ getcwd(dummy, (size_t)1000);
SetFileName(dummy); // will be converted into a string
- free(dummy); // no longer needed
+ delete[] dummy; // no longer needed
}
if(parseDir)
return(false);
}
- char * filePreamble;
- filePreamble=(char*)calloc(128,1);
+ char * filePreamble = new char[128];
fwrite(filePreamble,128,1,fp1);
fwrite("DICM",4,1,fp1);
- free(filePreamble);
+ delete[] filePreamble;
UpdateDirectoryRecordSequenceLength();
- WriteDicomDirEntries(fp1);
+ WriteEntries(fp1);
fclose(fp1);
return true;
}
/**
- * \ingroup gdcmParser
- * \brief writes on disc according to the DICOMDIR format
- * using the tree-like structure
+ * \brief Writes in a file using the tree-like structure.
* @param _fp already open file pointer
*/
-void gdcmDicomDir::WriteDicomDirEntries(FILE *_fp)
+void gdcmDicomDir::WriteEntries(FILE *_fp)
{
// TODO (?) tester les echecs en ecriture
// (apres chaque fwrite, dans le WriteEntry)
itImage = ((*itSerie)->GetDicomDirImages()).begin();
while (itImage != (*itSerie)->GetDicomDirImages().end() ) {
(*itImage)->ResetBoundaries(1);
- ++itImage;
- }
- ++itSerie;
- }
- ++itStudy;
- }
- ++itPatient;
+ ++itImage;
+ }
+ ++itSerie;
+ }
+ ++itStudy;
+ }
+ ++itPatient;
}
}
case gdcmDicomDir::GDCM_DICOMDIR_IMAGE:
AddDicomDirImageToEnd(begin,end);
break;
+ case gdcmDicomDir::GDCM_DICOMDIR_NONE:
+ AddDicomDirImageToEnd(begin,end); //FIXME
+ break;
}
}
offset += 4; // delimiters don't have a value.
}
}
- bool res=SetEntryLengthByNumber(offset, 0x0004, 0x1220); // Hope there is no dupps.
+ //bool res=SetEntryLengthByNumber(offset, 0x0004, 0x1220); // Hope there is no dupps.
+ SetEntryLengthByNumber(offset, 0x0004, 0x1220); // Hope there is no dupps.
return;
}