Take into account symbolic links

In order to adjust the path of an included file, when deciding
whether the document was moved or not, it is not sufficient
comparing the paths because the document could have been accessed
through a symbolic link.
This commit is contained in:
Enrico Forestieri 2015-09-09 01:40:16 +02:00
parent cf6128caf6
commit e626184fd0

View File

@ -4949,7 +4949,8 @@ string Buffer::includedFilePath(string const & name, string const & ext) const
// old_position already contains a trailing path separator
string const absname = isabsolute ? name : d->old_position + name;
if (d->old_position.empty() || d->old_position == filePath()
if (d->old_position.empty()
|| equivalent(FileName(d->old_position), FileName(filePath()))
|| !FileName(addExtension(absname, ext)).exists())
return name;