Try to ignore exceptions thrown from boost::filesystem::is_symlink (#1662).
authorCarl Hetherington <cth@carlh.net>
Wed, 6 Nov 2019 12:48:17 +0000 (13:48 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 6 Nov 2019 12:49:40 +0000 (13:49 +0100)
Backported from c55763e650b12b96b97ef8630d3a5277c1237069 in v2.15.x.

src/lib/film.cc

index 0d2adce4ab732e776babf7fc5af5625f46912f11..167ffaf4e41771263fb12ee1e9427d17ba0318a8 100644 (file)
@@ -177,7 +177,8 @@ Film::Film (optional<boost::filesystem::path> dir)
                boost::filesystem::path result;
                for (boost::filesystem::path::iterator i = p.begin(); i != p.end(); ++i) {
                        if (*i == "..") {
-                               if (boost::filesystem::is_symlink (result) || result.filename() == "..") {
+                               boost::system::error_code ec;
+                               if (boost::filesystem::is_symlink(result, ec) || result.filename() == "..") {
                                        result /= *i;
                                } else {
                                        result = result.parent_path ();