summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfileinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/io/qfileinfo.cpp')
-rw-r--r--src/corelib/io/qfileinfo.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index 351fbc3d86..a9b35b78d4 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -38,6 +38,9 @@ QString QFileInfoPrivate::getFileName(QAbstractFileEngine::FileName name) const
case QAbstractFileEngine::AbsoluteLinkTarget:
ret = QFileSystemEngine::getLinkTarget(fileEntry, metaData).filePath();
break;
+ case QAbstractFileEngine::RawLinkPath:
+ ret = QFileSystemEngine::getRawLinkPath(fileEntry, metaData).filePath();
+ break;
case QAbstractFileEngine::JunctionName:
ret = QFileSystemEngine::getJunctionTarget(fileEntry, metaData).filePath();
break;
@@ -1222,6 +1225,25 @@ QString QFileInfo::symLinkTarget() const
}
/*!
+ \since 6.6
+ Read the path the symlink references.
+
+ Returns the raw path referenced by the symbolic link, without resolving a relative
+ path relative to the directory containing the symbolic link. The returned string will
+ only be an absolute path if the symbolic link actually references it as such. Returns
+ an empty string if the object is not a symbolic link.
+
+ \sa symLinkTarget(), exists(), isSymLink(), isDir(), isFile()
+*/
+QString QFileInfo::readSymLink() const
+{
+ Q_D(const QFileInfo);
+ if (d->isDefaultConstructed)
+ return {};
+ return d->getFileName(QAbstractFileEngine::RawLinkPath);
+}
+
+/*!
\since 6.2
Resolves an NTFS junction to the path it references.