diff options
author | hjk <[email protected]> | 2021-06-15 18:29:51 +0200 |
---|---|---|
committer | hjk <[email protected]> | 2021-06-16 09:00:37 +0000 |
commit | e3c03fd3c5d6a20748a260b9952c84aadbf03be5 (patch) | |
tree | 47c3ac6abb1d68d0244221affb2c7f6c711ea06a /src/libs/utils/fileutils.cpp | |
parent | fee82ed2c291faa99d5db5b1aba186062e8ed58d (diff) |
Utils: Implement FilePath::writeFileContents()
Including a docker version of it.
Change-Id: Ib2ac6073cc2b39818fb77a7d9d608386f9d17285
Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src/libs/utils/fileutils.cpp')
-rw-r--r-- | src/libs/utils/fileutils.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index 1c4bb869166..146b4133d2f 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -957,6 +957,19 @@ QByteArray FilePath::fileContents(int maxSize) const return f.readAll(); } +bool FilePath::writeFileContents(const QByteArray &data) const +{ + if (needsDevice()) { + QTC_ASSERT(s_deviceHooks.writeFileContents, return {}); + return s_deviceHooks.writeFileContents(*this, data); + } + + QFile file(path()); + QTC_ASSERT(file.open(QFile::WriteOnly | QFile::Truncate), return false); + qint64 res = file.write(data); + return res == data.size(); +} + bool FilePath::needsDevice() const { return !m_scheme.isEmpty(); |