diff --git a/src/ModFile.cc b/src/ModFile.cc index 115526623ce6fe5675fc63af8c578e4b390d28de..837de22f1706210c191aa8561f32e47c53bb5b69 100644 --- a/src/ModFile.cc +++ b/src/ModFile.cc @@ -847,10 +847,18 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool clear_glo it before deleting it (the renaming must occur in the same directory, otherwise it may file if the destination is not on the same filesystem). */ - if (filesystem::exists("+" + basename)) + if (filesystem::path plusfolder{"+" + basename}; filesystem::exists(plusfolder)) { + if (filesystem::exists(plusfolder / "+objective")) + { + // Do it recursively for the +objective folder, created by ramsey_policy + auto tmp2 = unique_path(); + filesystem::rename(plusfolder / "+objective", tmp2); + filesystem::remove_all(tmp2); + } + auto tmp = unique_path(); - filesystem::rename("+" + basename, tmp); + filesystem::rename(plusfolder, tmp); filesystem::remove_all(tmp); } filesystem::remove_all(basename + "/model/src");