summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc51
1 files changed, 26 insertions, 25 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index ed664f0dc8..68ab485db7 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -3304,36 +3304,37 @@ Session::cleanup_sources (CleanupReport& rep)
}
- g_stat ((*x).c_str(), &statbuf);
+ if (0 == g_stat ((*x).c_str(), &statbuf)) {
- if (::rename ((*x).c_str(), newpath.c_str()) != 0) {
- error << string_compose (_("cannot rename unused file source from %1 to %2 (%3)"), (*x), newpath, strerror (errno)) << endmsg;
- continue;
- }
+ if (::rename ((*x).c_str(), newpath.c_str()) != 0) {
+ error << string_compose (_("cannot rename unused file source from %1 to %2 (%3)"), (*x), newpath, strerror (errno)) << endmsg;
+ continue;
+ }
- /* see if there an easy to find peakfile for this file, and remove it.
- */
+ /* see if there an easy to find peakfile for this file, and remove it.
+ */
- string base = Glib::path_get_basename (*x);
- base += "%A"; /* this is what we add for the channel suffix of all native files,
- or for the first channel of embedded files. it will miss
- some peakfiles for other channels
- */
- string peakpath = construct_peak_filepath (base);
-
- if (Glib::file_test (peakpath.c_str(), Glib::FILE_TEST_EXISTS)) {
- if (::g_unlink (peakpath.c_str()) != 0) {
- error << string_compose (_("cannot remove peakfile %1 for %2 (%3)"),
- peakpath, _path, strerror (errno))
- << endmsg;
- /* try to back out */
- ::rename (newpath.c_str(), _path.c_str());
- goto out;
+ string base = Glib::path_get_basename (*x);
+ base += "%A"; /* this is what we add for the channel suffix of all native files,
+ or for the first channel of embedded files. it will miss
+ some peakfiles for other channels
+ */
+ string peakpath = construct_peak_filepath (base);
+
+ if (Glib::file_test (peakpath.c_str(), Glib::FILE_TEST_EXISTS)) {
+ if (::g_unlink (peakpath.c_str()) != 0) {
+ error << string_compose (_("cannot remove peakfile %1 for %2 (%3)"),
+ peakpath, _path, strerror (errno))
+ << endmsg;
+ /* try to back out */
+ ::rename (newpath.c_str(), _path.c_str());
+ goto out;
+ }
}
- }
- rep.paths.push_back (*x);
- rep.space += statbuf.st_size;
+ rep.paths.push_back (*x);
+ rep.space += statbuf.st_size;
+ }
}
/* dump the history list */