diff options
author | Roland Haas <rhaas@tapir.caltech.edu> | 2013-02-28 09:38:16 -0800 |
---|---|---|
committer | Roland Haas <rhaas@tapir.caltech.edu> | 2013-02-28 13:24:38 -0800 |
commit | cbb04d13f1e3cca8cf3ea6c4efba783e8303c717 (patch) | |
tree | 904c20366764cbd63b924eb08de1d982d1e70d40 /Carpet/CarpetIOHDF5 | |
parent | 970bde512ad7ee3f40da408702026e4c2bc07c3e (diff) |
CarpetIOHDF5: remove index files along with checkpoint files
Diffstat (limited to 'Carpet/CarpetIOHDF5')
-rw-r--r-- | Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc | 17 |
1 files changed, 17 insertions, 0 deletions
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]); } |