Loading libs/binder/ndk/include_cpp/android/binder_parcel_utils.h +25 −23 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,7 @@ static inline bool AParcel_stdVectorAllocator(void* vectorData, int32_t length, std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); if (static_cast<size_t>(length) > vec->max_size()) return false; if (static_cast<size_t>(length) > vec->max_size()) return false; vec->resize(length); vec->resize(static_cast<size_t>(length)); *outBuffer = vec->data(); *outBuffer = vec->data(); return true; return true; } } Loading @@ -66,7 +66,7 @@ static inline bool AParcel_nullableStdVectorAllocator(void* vectorData, int32_t *vec = std::optional<std::vector<T>>(std::vector<T>{}); *vec = std::optional<std::vector<T>>(std::vector<T>{}); if (static_cast<size_t>(length) > (*vec)->max_size()) return false; if (static_cast<size_t>(length) > (*vec)->max_size()) return false; (*vec)->resize(length); (*vec)->resize(static_cast<size_t>(length)); *outBuffer = (*vec)->data(); *outBuffer = (*vec)->data(); return true; return true; Loading @@ -90,7 +90,7 @@ static inline bool AParcel_stdVectorExternalAllocator(void* vectorData, int32_t std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); if (static_cast<size_t>(length) > vec->max_size()) return false; if (static_cast<size_t>(length) > vec->max_size()) return false; vec->resize(length); vec->resize(static_cast<size_t>(length)); return true; return true; } } Loading @@ -117,7 +117,7 @@ static inline bool AParcel_nullableStdVectorExternalAllocator(void* vectorData, *vec = std::optional<std::vector<T>>(std::vector<T>{}); *vec = std::optional<std::vector<T>>(std::vector<T>{}); if (static_cast<size_t>(length) > (*vec)->max_size()) return false; if (static_cast<size_t>(length) > (*vec)->max_size()) return false; (*vec)->resize(length); (*vec)->resize(static_cast<size_t>(length)); return true; return true; } } Loading Loading @@ -257,7 +257,7 @@ static inline bool AParcel_stdStringAllocator(void* stringData, int32_t length, if (length <= 0) return false; if (length <= 0) return false; std::string* str = static_cast<std::string*>(stringData); std::string* str = static_cast<std::string*>(stringData); str->resize(length - 1); str->resize(static_cast<size_t>(length) - 1); *buffer = &(*str)[0]; *buffer = &(*str)[0]; return true; return true; } } Loading @@ -279,7 +279,7 @@ static inline bool AParcel_nullableStdStringAllocator(void* stringData, int32_t } } *str = std::optional<std::string>(std::string{}); *str = std::optional<std::string>(std::string{}); (*str)->resize(length - 1); (*str)->resize(static_cast<size_t>(length) - 1); *buffer = &(**str)[0]; *buffer = &(**str)[0]; return true; return true; } } Loading @@ -303,7 +303,7 @@ static inline const char* AParcel_stdVectorStringElementGetter(const void* vecto const std::vector<std::string>* vec = static_cast<const std::vector<std::string>*>(vectorData); const std::vector<std::string>* vec = static_cast<const std::vector<std::string>*>(vectorData); const std::string& element = vec->at(index); const std::string& element = vec->at(index); *outLength = element.size(); *outLength = static_cast<int32_t>(element.size()); return element.c_str(); return element.c_str(); } } Loading Loading @@ -337,7 +337,7 @@ static inline const char* AParcel_nullableStdVectorStringElementGetter(const voi return nullptr; return nullptr; } } *outLength = element->size(); *outLength = static_cast<int32_t>(element->size()); return element->c_str(); return element->c_str(); } } Loading @@ -345,7 +345,7 @@ static inline const char* AParcel_nullableStdVectorStringElementGetter(const voi * Convenience API for writing a std::string. * Convenience API for writing a std::string. */ */ static inline binder_status_t AParcel_writeString(AParcel* parcel, const std::string& str) { static inline binder_status_t AParcel_writeString(AParcel* parcel, const std::string& str) { return AParcel_writeString(parcel, str.c_str(), str.size()); return AParcel_writeString(parcel, str.c_str(), static_cast<int32_t>(str.size())); } } /** /** Loading @@ -365,7 +365,7 @@ static inline binder_status_t AParcel_writeString(AParcel* parcel, return AParcel_writeString(parcel, nullptr, -1); return AParcel_writeString(parcel, nullptr, -1); } } return AParcel_writeString(parcel, str->c_str(), str->size()); return AParcel_writeString(parcel, str->c_str(), static_cast<int32_t>(str->size())); } } /** /** Loading @@ -383,7 +383,7 @@ static inline binder_status_t AParcel_readString(const AParcel* parcel, static inline binder_status_t AParcel_writeVector(AParcel* parcel, static inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<std::string>& vec) { const std::vector<std::string>& vec) { const void* vectorData = static_cast<const void*>(&vec); const void* vectorData = static_cast<const void*>(&vec); return AParcel_writeStringArray(parcel, vectorData, vec.size(), return AParcel_writeStringArray(parcel, vectorData, static_cast<int32_t>(vec.size()), AParcel_stdVectorStringElementGetter); AParcel_stdVectorStringElementGetter); } } Loading @@ -404,7 +404,8 @@ static inline binder_status_t AParcel_readVector(const AParcel* parcel, static inline binder_status_t AParcel_writeVector( static inline binder_status_t AParcel_writeVector( AParcel* parcel, const std::optional<std::vector<std::optional<std::string>>>& vec) { AParcel* parcel, const std::optional<std::vector<std::optional<std::string>>>& vec) { const void* vectorData = static_cast<const void*>(&vec); const void* vectorData = static_cast<const void*>(&vec); return AParcel_writeStringArray(parcel, vectorData, (vec ? vec->size() : -1), return AParcel_writeStringArray(parcel, vectorData, (vec ? static_cast<int32_t>(vec->size()) : -1), AParcel_nullableStdVectorStringElementGetter); AParcel_nullableStdVectorStringElementGetter); } } Loading Loading @@ -545,7 +546,7 @@ inline binder_status_t AParcel_readStdVectorParcelableElement<ScopedFileDescript template <typename P> template <typename P> static inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<P>& vec) { static inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<P>& vec) { const void* vectorData = static_cast<const void*>(&vec); const void* vectorData = static_cast<const void*>(&vec); return AParcel_writeParcelableArray(parcel, vectorData, vec.size(), return AParcel_writeParcelableArray(parcel, vectorData, static_cast<int32_t>(vec.size()), AParcel_writeStdVectorParcelableElement<P>); AParcel_writeStdVectorParcelableElement<P>); } } Loading @@ -564,7 +565,7 @@ static inline binder_status_t AParcel_readVector(const AParcel* parcel, std::vec * Writes a vector of int32_t to the next location in a non-null parcel. * Writes a vector of int32_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int32_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int32_t>& vec) { return AParcel_writeInt32Array(parcel, vec.data(), vec.size()); return AParcel_writeInt32Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -597,7 +598,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of uint32_t to the next location in a non-null parcel. * Writes a vector of uint32_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint32_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint32_t>& vec) { return AParcel_writeUint32Array(parcel, vec.data(), vec.size()); return AParcel_writeUint32Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -631,7 +632,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of int64_t to the next location in a non-null parcel. * Writes a vector of int64_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int64_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int64_t>& vec) { return AParcel_writeInt64Array(parcel, vec.data(), vec.size()); return AParcel_writeInt64Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -664,7 +665,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of uint64_t to the next location in a non-null parcel. * Writes a vector of uint64_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint64_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint64_t>& vec) { return AParcel_writeUint64Array(parcel, vec.data(), vec.size()); return AParcel_writeUint64Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -698,7 +699,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of float to the next location in a non-null parcel. * Writes a vector of float to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<float>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<float>& vec) { return AParcel_writeFloatArray(parcel, vec.data(), vec.size()); return AParcel_writeFloatArray(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -731,7 +732,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of double to the next location in a non-null parcel. * Writes a vector of double to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<double>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<double>& vec) { return AParcel_writeDoubleArray(parcel, vec.data(), vec.size()); return AParcel_writeDoubleArray(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -764,8 +765,8 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of bool to the next location in a non-null parcel. * Writes a vector of bool to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<bool>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<bool>& vec) { return AParcel_writeBoolArray(parcel, static_cast<const void*>(&vec), vec.size(), return AParcel_writeBoolArray(parcel, static_cast<const void*>(&vec), AParcel_stdVectorGetter<bool>); static_cast<int32_t>(vec.size()), AParcel_stdVectorGetter<bool>); } } /** /** Loading Loading @@ -801,7 +802,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of char16_t to the next location in a non-null parcel. * Writes a vector of char16_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<char16_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<char16_t>& vec) { return AParcel_writeCharArray(parcel, vec.data(), vec.size()); return AParcel_writeCharArray(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -834,7 +835,8 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of uint8_t to the next location in a non-null parcel. * Writes a vector of uint8_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint8_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint8_t>& vec) { return AParcel_writeByteArray(parcel, reinterpret_cast<const int8_t*>(vec.data()), vec.size()); return AParcel_writeByteArray(parcel, reinterpret_cast<const int8_t*>(vec.data()), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading
libs/binder/ndk/include_cpp/android/binder_parcel_utils.h +25 −23 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,7 @@ static inline bool AParcel_stdVectorAllocator(void* vectorData, int32_t length, std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); if (static_cast<size_t>(length) > vec->max_size()) return false; if (static_cast<size_t>(length) > vec->max_size()) return false; vec->resize(length); vec->resize(static_cast<size_t>(length)); *outBuffer = vec->data(); *outBuffer = vec->data(); return true; return true; } } Loading @@ -66,7 +66,7 @@ static inline bool AParcel_nullableStdVectorAllocator(void* vectorData, int32_t *vec = std::optional<std::vector<T>>(std::vector<T>{}); *vec = std::optional<std::vector<T>>(std::vector<T>{}); if (static_cast<size_t>(length) > (*vec)->max_size()) return false; if (static_cast<size_t>(length) > (*vec)->max_size()) return false; (*vec)->resize(length); (*vec)->resize(static_cast<size_t>(length)); *outBuffer = (*vec)->data(); *outBuffer = (*vec)->data(); return true; return true; Loading @@ -90,7 +90,7 @@ static inline bool AParcel_stdVectorExternalAllocator(void* vectorData, int32_t std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); std::vector<T>* vec = static_cast<std::vector<T>*>(vectorData); if (static_cast<size_t>(length) > vec->max_size()) return false; if (static_cast<size_t>(length) > vec->max_size()) return false; vec->resize(length); vec->resize(static_cast<size_t>(length)); return true; return true; } } Loading @@ -117,7 +117,7 @@ static inline bool AParcel_nullableStdVectorExternalAllocator(void* vectorData, *vec = std::optional<std::vector<T>>(std::vector<T>{}); *vec = std::optional<std::vector<T>>(std::vector<T>{}); if (static_cast<size_t>(length) > (*vec)->max_size()) return false; if (static_cast<size_t>(length) > (*vec)->max_size()) return false; (*vec)->resize(length); (*vec)->resize(static_cast<size_t>(length)); return true; return true; } } Loading Loading @@ -257,7 +257,7 @@ static inline bool AParcel_stdStringAllocator(void* stringData, int32_t length, if (length <= 0) return false; if (length <= 0) return false; std::string* str = static_cast<std::string*>(stringData); std::string* str = static_cast<std::string*>(stringData); str->resize(length - 1); str->resize(static_cast<size_t>(length) - 1); *buffer = &(*str)[0]; *buffer = &(*str)[0]; return true; return true; } } Loading @@ -279,7 +279,7 @@ static inline bool AParcel_nullableStdStringAllocator(void* stringData, int32_t } } *str = std::optional<std::string>(std::string{}); *str = std::optional<std::string>(std::string{}); (*str)->resize(length - 1); (*str)->resize(static_cast<size_t>(length) - 1); *buffer = &(**str)[0]; *buffer = &(**str)[0]; return true; return true; } } Loading @@ -303,7 +303,7 @@ static inline const char* AParcel_stdVectorStringElementGetter(const void* vecto const std::vector<std::string>* vec = static_cast<const std::vector<std::string>*>(vectorData); const std::vector<std::string>* vec = static_cast<const std::vector<std::string>*>(vectorData); const std::string& element = vec->at(index); const std::string& element = vec->at(index); *outLength = element.size(); *outLength = static_cast<int32_t>(element.size()); return element.c_str(); return element.c_str(); } } Loading Loading @@ -337,7 +337,7 @@ static inline const char* AParcel_nullableStdVectorStringElementGetter(const voi return nullptr; return nullptr; } } *outLength = element->size(); *outLength = static_cast<int32_t>(element->size()); return element->c_str(); return element->c_str(); } } Loading @@ -345,7 +345,7 @@ static inline const char* AParcel_nullableStdVectorStringElementGetter(const voi * Convenience API for writing a std::string. * Convenience API for writing a std::string. */ */ static inline binder_status_t AParcel_writeString(AParcel* parcel, const std::string& str) { static inline binder_status_t AParcel_writeString(AParcel* parcel, const std::string& str) { return AParcel_writeString(parcel, str.c_str(), str.size()); return AParcel_writeString(parcel, str.c_str(), static_cast<int32_t>(str.size())); } } /** /** Loading @@ -365,7 +365,7 @@ static inline binder_status_t AParcel_writeString(AParcel* parcel, return AParcel_writeString(parcel, nullptr, -1); return AParcel_writeString(parcel, nullptr, -1); } } return AParcel_writeString(parcel, str->c_str(), str->size()); return AParcel_writeString(parcel, str->c_str(), static_cast<int32_t>(str->size())); } } /** /** Loading @@ -383,7 +383,7 @@ static inline binder_status_t AParcel_readString(const AParcel* parcel, static inline binder_status_t AParcel_writeVector(AParcel* parcel, static inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<std::string>& vec) { const std::vector<std::string>& vec) { const void* vectorData = static_cast<const void*>(&vec); const void* vectorData = static_cast<const void*>(&vec); return AParcel_writeStringArray(parcel, vectorData, vec.size(), return AParcel_writeStringArray(parcel, vectorData, static_cast<int32_t>(vec.size()), AParcel_stdVectorStringElementGetter); AParcel_stdVectorStringElementGetter); } } Loading @@ -404,7 +404,8 @@ static inline binder_status_t AParcel_readVector(const AParcel* parcel, static inline binder_status_t AParcel_writeVector( static inline binder_status_t AParcel_writeVector( AParcel* parcel, const std::optional<std::vector<std::optional<std::string>>>& vec) { AParcel* parcel, const std::optional<std::vector<std::optional<std::string>>>& vec) { const void* vectorData = static_cast<const void*>(&vec); const void* vectorData = static_cast<const void*>(&vec); return AParcel_writeStringArray(parcel, vectorData, (vec ? vec->size() : -1), return AParcel_writeStringArray(parcel, vectorData, (vec ? static_cast<int32_t>(vec->size()) : -1), AParcel_nullableStdVectorStringElementGetter); AParcel_nullableStdVectorStringElementGetter); } } Loading Loading @@ -545,7 +546,7 @@ inline binder_status_t AParcel_readStdVectorParcelableElement<ScopedFileDescript template <typename P> template <typename P> static inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<P>& vec) { static inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<P>& vec) { const void* vectorData = static_cast<const void*>(&vec); const void* vectorData = static_cast<const void*>(&vec); return AParcel_writeParcelableArray(parcel, vectorData, vec.size(), return AParcel_writeParcelableArray(parcel, vectorData, static_cast<int32_t>(vec.size()), AParcel_writeStdVectorParcelableElement<P>); AParcel_writeStdVectorParcelableElement<P>); } } Loading @@ -564,7 +565,7 @@ static inline binder_status_t AParcel_readVector(const AParcel* parcel, std::vec * Writes a vector of int32_t to the next location in a non-null parcel. * Writes a vector of int32_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int32_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int32_t>& vec) { return AParcel_writeInt32Array(parcel, vec.data(), vec.size()); return AParcel_writeInt32Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -597,7 +598,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of uint32_t to the next location in a non-null parcel. * Writes a vector of uint32_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint32_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint32_t>& vec) { return AParcel_writeUint32Array(parcel, vec.data(), vec.size()); return AParcel_writeUint32Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -631,7 +632,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of int64_t to the next location in a non-null parcel. * Writes a vector of int64_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int64_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<int64_t>& vec) { return AParcel_writeInt64Array(parcel, vec.data(), vec.size()); return AParcel_writeInt64Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -664,7 +665,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of uint64_t to the next location in a non-null parcel. * Writes a vector of uint64_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint64_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint64_t>& vec) { return AParcel_writeUint64Array(parcel, vec.data(), vec.size()); return AParcel_writeUint64Array(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -698,7 +699,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of float to the next location in a non-null parcel. * Writes a vector of float to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<float>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<float>& vec) { return AParcel_writeFloatArray(parcel, vec.data(), vec.size()); return AParcel_writeFloatArray(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -731,7 +732,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of double to the next location in a non-null parcel. * Writes a vector of double to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<double>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<double>& vec) { return AParcel_writeDoubleArray(parcel, vec.data(), vec.size()); return AParcel_writeDoubleArray(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -764,8 +765,8 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of bool to the next location in a non-null parcel. * Writes a vector of bool to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<bool>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<bool>& vec) { return AParcel_writeBoolArray(parcel, static_cast<const void*>(&vec), vec.size(), return AParcel_writeBoolArray(parcel, static_cast<const void*>(&vec), AParcel_stdVectorGetter<bool>); static_cast<int32_t>(vec.size()), AParcel_stdVectorGetter<bool>); } } /** /** Loading Loading @@ -801,7 +802,7 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of char16_t to the next location in a non-null parcel. * Writes a vector of char16_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<char16_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<char16_t>& vec) { return AParcel_writeCharArray(parcel, vec.data(), vec.size()); return AParcel_writeCharArray(parcel, vec.data(), static_cast<int32_t>(vec.size())); } } /** /** Loading Loading @@ -834,7 +835,8 @@ inline binder_status_t AParcel_readVector(const AParcel* parcel, * Writes a vector of uint8_t to the next location in a non-null parcel. * Writes a vector of uint8_t to the next location in a non-null parcel. */ */ inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint8_t>& vec) { inline binder_status_t AParcel_writeVector(AParcel* parcel, const std::vector<uint8_t>& vec) { return AParcel_writeByteArray(parcel, reinterpret_cast<const int8_t*>(vec.data()), vec.size()); return AParcel_writeByteArray(parcel, reinterpret_cast<const int8_t*>(vec.data()), static_cast<int32_t>(vec.size())); } } /** /** Loading