QNX: Remember information on whether a file is a link
This avoids an additional call to lstat() When using QDir::entryList() with the QDir::NoSymLinks flag. Change-Id: I3b602546c6a4502ae25a5748a12c60e69325bb5d Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: João Abecasis <joao@abecasis.name>bb10
parent
d402d0c3e3
commit
03cd922e31
|
|
@ -300,6 +300,13 @@ void QFileSystemMetaData::fillFromDirEnt(const QT_DIRENT &entry)
|
|||
const struct dirent_extra_stat * const extra_stat =
|
||||
reinterpret_cast<struct dirent_extra_stat *>(extra);
|
||||
|
||||
// Remember whether this was a link or not, this saves an lstat() call later.
|
||||
if (extra->d_type == _DTYPE_LSTAT) {
|
||||
knownFlagsMask |= QFileSystemMetaData::LinkType;
|
||||
if (S_ISLNK(extra_stat->d_stat.st_mode))
|
||||
entryFlags |= QFileSystemMetaData::LinkType;
|
||||
}
|
||||
|
||||
// For symlinks, the extra type _DTYPE_LSTAT doesn't work for filling out the meta data,
|
||||
// as we need the stat() information there, not the lstat() information.
|
||||
// In this case, don't use the extra information.
|
||||
|
|
|
|||
Loading…
Reference in New Issue