summaryrefslogtreecommitdiff
path: root/common/utils.h
diff options
context:
space:
mode:
authorAndroid Build Role Account android-build-prod <android-build-team-robot@google.com>2021-05-15 10:07:22 +0000
committerAndroid Build Role Account android-build-prod <android-build-team-robot@google.com>2021-05-15 10:07:22 +0000
commitac7fc8e1debff1f57afe79f144d8d16a1a0ec470 (patch)
tree01ec931931503ed80f181b2d85efb5df0079e4ba /common/utils.h
parent5d3613e99ec327d2ba487cc00de13b334618886f (diff)
parentf79cb91b4218a68642c94a01defc0594e742b3f4 (diff)
Snap for 7364285 from f79cb91b4218a68642c94a01defc0594e742b3f4 to s-keystone-qcom-release
Change-Id: I485b5b774533322ed4c78c3ceec5f945ea21b582
Diffstat (limited to 'common/utils.h')
-rw-r--r--common/utils.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/common/utils.h b/common/utils.h
index 5f6e4757..59f236ef 100644
--- a/common/utils.h
+++ b/common/utils.h
@@ -399,13 +399,19 @@ class ScopedTempFile {
// If |open_fd| is true, a writable file descriptor will be opened for this
// file.
- explicit ScopedTempFile(const std::string& pattern, bool open_fd = false) {
+ // If |truncate_size| is non-zero, truncate file to that size on creation.
+ explicit ScopedTempFile(const std::string& pattern,
+ bool open_fd = false,
+ size_t truncate_size = 0) {
CHECK(utils::MakeTempFile(pattern, &path_, open_fd ? &fd_ : nullptr));
unlinker_.reset(new ScopedPathUnlinker(path_));
if (open_fd) {
CHECK_GE(fd_, 0);
fd_closer_.reset(new ScopedFdCloser(&fd_));
}
+ if (truncate_size > 0) {
+ CHECK_EQ(0, truncate(path_.c_str(), truncate_size));
+ }
}
virtual ~ScopedTempFile() = default;