summaryrefslogtreecommitdiff
path: root/payload_generator/annotated_operation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'payload_generator/annotated_operation.cc')
-rw-r--r--payload_generator/annotated_operation.cc14
1 files changed, 6 insertions, 8 deletions
diff --git a/payload_generator/annotated_operation.cc b/payload_generator/annotated_operation.cc
index 2aa79fc7..2a0a0ded 100644
--- a/payload_generator/annotated_operation.cc
+++ b/payload_generator/annotated_operation.cc
@@ -25,15 +25,13 @@ void OutputExtents(std::ostream* os,
}
} // namespace
-bool AnnotatedOperation::SetOperationBlob(chromeos::Blob* blob, int data_fd,
- off_t* data_file_size) {
- TEST_AND_RETURN_FALSE(utils::PWriteAll(data_fd,
- blob->data(),
- blob->size(),
- *data_file_size));
+bool AnnotatedOperation::SetOperationBlob(chromeos::Blob* blob,
+ BlobFileWriter* blob_file) {
op.set_data_length(blob->size());
- op.set_data_offset(*data_file_size);
- *data_file_size += blob->size();
+ off_t data_offset = blob_file->StoreBlob(*blob);
+ if (data_offset == -1)
+ return false;
+ op.set_data_offset(data_offset);
return true;
}