summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-08-03 23:05:33 +0200
committerRobin Gareus <robin@gareus.org>2015-08-03 23:05:33 +0200
commit847afa3f649d5ef380104e34585e1303a13bc904 (patch)
treeaf45450168bf1210b2ee3f871a7f572ab7f901d2
parent2443fd1d79a7e02fc6b9f3f02aaaa01075bfd850 (diff)
close file before unlink
-rw-r--r--libs/ardour/audio_unit.cc10
-rw-r--r--libs/ardour/vst_info_file.cc8
2 files changed, 13 insertions, 5 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index f30686379a..b4052b8168 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -98,10 +98,14 @@ static void au_unblacklist (std::string id)
}
std::string bl;
- std::ifstream ifs(fn.c_str());
- bl.assign ((std::istreambuf_iterator<char>(ifs)), (std::istreambuf_iterator<char>()));
- ::g_unlink(fn.c_str());
+ {
+ std::ifstream ifs(fn.c_str());
+ bl.assign ((std::istreambuf_iterator<char>(ifs)), (std::istreambuf_iterator<char>()));
+ }
+
+ ::g_unlink (fn.c_str());
+ assert (!Glib::file_test (fn, Glib::FILE_TEST_EXISTS));
assert(id.find("\n") == string::npos);
id += "\n"; // add separator
diff --git a/libs/ardour/vst_info_file.cc b/libs/ardour/vst_info_file.cc
index 16fd2d97c1..b2731247b3 100644
--- a/libs/ardour/vst_info_file.cc
+++ b/libs/ardour/vst_info_file.cc
@@ -133,10 +133,14 @@ static void vstfx_un_blacklist (const char *idcs)
}
std::string bl;
- std::ifstream ifs (fn.c_str ());
- bl.assign ((std::istreambuf_iterator<char> (ifs)), (std::istreambuf_iterator<char> ()));
+ {
+ std::ifstream ifs (fn.c_str ());
+ bl.assign ((std::istreambuf_iterator<char> (ifs)), (std::istreambuf_iterator<char> ()));
+ }
+
::g_unlink (fn.c_str ());
+ assert (!Glib::file_test (fn, Glib::FILE_TEST_EXISTS));
assert (id.find ("\n") == string::npos);
id += "\n"; // add separator