summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfileinfo.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2016-07-23 11:14:57 -0700
committerThiago Macieira <thiago.macieira@intel.com>2017-08-05 16:41:38 +0000
commit6c3a3d498a8797c481a394418fff8f7bf1886c61 (patch)
treeb64407f2b2520d46b42f96495c41600aaae03d3c /src/corelib/io/qfileinfo.cpp
parentdb433bdf65e011e64be51948e79abc02034dddbf (diff)
Filesystem: Use "birth time" to avoid confusion with Unix ctime
The Unix stat fields "st_ctime" and "st_ctim" mean "change time", the last time that the file/inode status fields were changed. It does not mean "creation time". So this commit splits all of the internal API to "birth" and "metadata change" instead of "creation" to avoid the conflict. Change-Id: I149e0540c00745fe8119fffd1463fe78b619649e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/corelib/io/qfileinfo.cpp')
-rw-r--r--src/corelib/io/qfileinfo.cpp32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp
index bb4eb5aeb2..104a171e99 100644
--- a/src/corelib/io/qfileinfo.cpp
+++ b/src/corelib/io/qfileinfo.cpp
@@ -194,8 +194,11 @@ QDateTime &QFileInfoPrivate::getFileTime(QAbstractFileEngine::FileTime request)
case QAbstractFileEngine::AccessTime:
cf = CachedATime;
break;
- case QAbstractFileEngine::CreationTime:
- cf = CachedCTime;
+ case QAbstractFileEngine::BirthTime:
+ cf = CachedBTime;
+ break;
+ case QAbstractFileEngine::MetadataChangeTime:
+ cf = CachedMCTime;
break;
case QAbstractFileEngine::ModificationTime:
cf = CachedMTime;
@@ -1316,7 +1319,10 @@ qint64 QFileInfo::size() const
*/
QDateTime QFileInfo::created() const
{
- return fileTime(QFile::FileCreationTime);
+ QDateTime d = fileTime(QFile::FileBirthTime);
+ if (d.isValid())
+ return d;
+ return fileTime(QFile::FileMetadataChangeTime);
}
#endif
@@ -1331,7 +1337,7 @@ QDateTime QFileInfo::created() const
*/
QDateTime QFileInfo::birthTime() const
{
- return fileTime(QFile::FileCreationTime);
+ return fileTime(QFile::FileBirthTime);
}
/*!
@@ -1345,7 +1351,7 @@ QDateTime QFileInfo::birthTime() const
*/
QDateTime QFileInfo::metadataChangeTime() const
{
- return fileTime(QFile::FileCreationTime);
+ return fileTime(QFile::FileMetadataChangeTime);
}
/*!
@@ -1373,16 +1379,17 @@ QDateTime QFileInfo::lastRead() const
/*!
\since 5.10
- Returns the file time specified by \a time.
- If the time cannot be determined return QDateTime() (an invalid
- date time).
+
+ Returns the file time specified by \a time. If the time cannot be
+ determined, an invalid date time is returned.
\sa QFile::FileTime, QDateTime::isValid()
*/
QDateTime QFileInfo::fileTime(QFile::FileTime time) const
{
Q_STATIC_ASSERT(int(QFile::FileAccessTime) == int(QAbstractFileEngine::AccessTime));
- Q_STATIC_ASSERT(int(QFile::FileCreationTime) == int(QAbstractFileEngine::CreationTime));
+ Q_STATIC_ASSERT(int(QFile::FileBirthTime) == int(QAbstractFileEngine::BirthTime));
+ Q_STATIC_ASSERT(int(QFile::FileMetadataChangeTime) == int(QAbstractFileEngine::MetadataChangeTime));
Q_STATIC_ASSERT(int(QFile::FileModificationTime) == int(QAbstractFileEngine::ModificationTime));
Q_D(const QFileInfo);
@@ -1397,8 +1404,11 @@ QDateTime QFileInfo::fileTime(QFile::FileTime time) const
case QFile::FileAccessTime:
flag = QFileSystemMetaData::AccessTime;
break;
- case QFile::FileCreationTime:
- flag = QFileSystemMetaData::CreationTime;
+ case QFile::FileBirthTime:
+ flag = QFileSystemMetaData::BirthTime;
+ break;
+ case QFile::FileMetadataChangeTime:
+ flag = QFileSystemMetaData::MetadataChangeTime;
break;
case QFile::FileModificationTime:
flag = QFileSystemMetaData::ModificationTime;