diff options
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r-- | libs/ardour/session_state.cc | 51 |
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 */ |