aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOHDF5
diff options
context:
space:
mode:
authorRoland Haas <rhaas@tapir.caltech.edu>2013-02-28 09:38:16 -0800
committerRoland Haas <rhaas@tapir.caltech.edu>2013-02-28 13:24:38 -0800
commitcbb04d13f1e3cca8cf3ea6c4efba783e8303c717 (patch)
tree904c20366764cbd63b924eb08de1d982d1e70d40 /Carpet/CarpetIOHDF5
parent970bde512ad7ee3f40da408702026e4c2bc07c3e (diff)
CarpetIOHDF5: remove index files along with checkpoint files
Diffstat (limited to 'Carpet/CarpetIOHDF5')
-rw-r--r--Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc17
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]);
}