aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/fileutils.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2021-06-15 18:29:51 +0200
committerhjk <[email protected]>2021-06-16 09:00:37 +0000
commite3c03fd3c5d6a20748a260b9952c84aadbf03be5 (patch)
tree47c3ac6abb1d68d0244221affb2c7f6c711ea06a /src/libs/utils/fileutils.cpp
parentfee82ed2c291faa99d5db5b1aba186062e8ed58d (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.cpp13
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();