From cbb04d13f1e3cca8cf3ea6c4efba783e8303c717 Mon Sep 17 00:00:00 2001 From: Roland Haas Date: Thu, 28 Feb 2013 09:38:16 -0800 Subject: CarpetIOHDF5: remove index files along with checkpoint files --- Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'Carpet/CarpetIOHDF5') diff --git a/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc b/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc index 27ce292c4..927c9740d 100644 --- a/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc +++ b/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc @@ -1141,6 +1141,15 @@ static void Checkpoint (const cGH* const cctkGH, int called_from) if (myGH->recovery_filename_list) { for (int i = 0; i < myGH->recovery_num_filenames; i++) { if (myGH->recovery_filename_list[i]) { + // remove possible index file + string old_index_filename = myGH->recovery_filename_list[i]; + size_t const basenamelen = + old_index_filename.rfind (out_extension); + if(basenamelen != string::npos) { + old_index_filename.insert (basenamelen, ".idx"); + remove (old_index_filename.c_str()); + } + remove (myGH->recovery_filename_list[i]); free (myGH->recovery_filename_list[i]); } @@ -1148,6 +1157,14 @@ static void Checkpoint (const cGH* const cctkGH, int called_from) free (myGH->recovery_filename_list); myGH->recovery_filename_list = NULL; } else { + // remove possible index file + string old_index_filename = + myGH->cp_filename_list[myGH->cp_filename_index]; + size_t const basenamelen = old_index_filename.rfind (out_extension); + if(basenamelen != string::npos) { + old_index_filename.insert (basenamelen, ".idx"); + remove (old_index_filename.c_str()); + } remove (myGH->cp_filename_list[myGH->cp_filename_index]); free (myGH->cp_filename_list[myGH->cp_filename_index]); } -- cgit v1.2.3