From 7a79db9117538be0f5e2674107edb0a4d2d29c4b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 5 Mar 2012 00:34:29 +0000 Subject: [PATCH] Use inodes_same() function. git-svn-id: svn://localhost/ardour2/branches/3.0@11591 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/file_source.cc | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libs/ardour/file_source.cc b/libs/ardour/file_source.cc index e35ee81364..be4ded9a2c 100644 --- a/libs/ardour/file_source.cc +++ b/libs/ardour/file_source.cc @@ -270,6 +270,8 @@ FileSource::find (Session& s, DataType type, const string& path, bool must_exist /* Remove duplicate inodes from the list of ambiguous files, since if there are symlinks in the session path it is possible to arrive at the same file via more than one path. + + I suppose this is not necessary on Windows. */ vector de_duped_hits; @@ -280,13 +282,7 @@ FileSource::find (Session& s, DataType type, const string& path, bool must_exist ++j; while (j != hits.end()) { - - struct stat bufA; - int const rA = stat (i->c_str(), &bufA); - struct stat bufB; - int const rB = stat (j->c_str(), &bufB); - - if (rA == 0 && rB == 0 && bufA.st_ino == bufB.st_ino) { + if (inodes_same (*i, *j)) { /* *i and *j are the same file; break out of the loop early */ break; }