Merge "incfs: tolerate either ptrdiff_t or size_t for std::span"

This commit is contained in:
Ryan Prichard
2022-09-02 20:16:20 +00:00
committed by Gerrit Code Review
2 changed files with 7 additions and 4 deletions

View File

@@ -216,7 +216,10 @@ static std::span<const uint8_t> toSpan(const ::std::optional<::std::vector<uint8
if (!content) { if (!content) {
return {}; return {};
} }
return {content->data(), (int)content->size()}; // TODO(b/175635923): Replace with {content->data(), content->size()} after libc++ is upgraded.
// The type of the second std::span ctor param changed from ptrdiff_t to size_t between the old
// libc++ and the finalized C++20.
return std::span<const uint8_t>(content->data(), content->size());
} }
binder::Status BinderIncrementalService::makeFile( binder::Status BinderIncrementalService::makeFile(

View File

@@ -1166,11 +1166,11 @@ int IncrementalService::makeFile(StorageId storage, std::string_view path, int m
if (!ifs) { if (!ifs) {
return -EINVAL; return -EINVAL;
} }
if (data.size() > params.size) { if ((IncFsSize)data.size() > params.size) {
LOG(ERROR) << "Bad data size - bigger than file size"; LOG(ERROR) << "Bad data size - bigger than file size";
return -EINVAL; return -EINVAL;
} }
if (!data.empty() && data.size() != params.size) { if (!data.empty() && (IncFsSize)data.size() != params.size) {
// Writing a page is an irreversible operation, and it can't be updated with additional // Writing a page is an irreversible operation, and it can't be updated with additional
// data later. Check that the last written page is complete, or we may break the file. // data later. Check that the last written page is complete, or we may break the file.
if (!isPageAligned(data.size())) { if (!isPageAligned(data.size())) {
@@ -3188,7 +3188,7 @@ binder::Status IncrementalService::IncrementalServiceConnector::setStorageParams
} }
FileId IncrementalService::idFromMetadata(std::span<const uint8_t> metadata) { FileId IncrementalService::idFromMetadata(std::span<const uint8_t> metadata) {
return IncFs_FileIdFromMetadata({(const char*)metadata.data(), metadata.size()}); return IncFs_FileIdFromMetadata({(const char*)metadata.data(), (IncFsSize)metadata.size()});
} }
} // namespace android::incremental } // namespace android::incremental