Use function from libbase instead.
Bug: 77342154
Test: atest libprotoutil_test && atest incidentd_test with
libprotoutil.so pushed to device
Change-Id: I38d200f2495b00f632722ddddf9ccab76c147cc4
diff --git a/libs/protoutil/Android.bp b/libs/protoutil/Android.bp
index 7ad83ca..a36bf80 100644
--- a/libs/protoutil/Android.bp
+++ b/libs/protoutil/Android.bp
@@ -33,6 +33,7 @@
export_include_dirs: ["include"],
shared_libs: [
+ "libbase",
"libcutils",
"liblog",
],
diff --git a/libs/protoutil/src/ProtoOutputStream.cpp b/libs/protoutil/src/ProtoOutputStream.cpp
index 22b9709..3fee7e4 100644
--- a/libs/protoutil/src/ProtoOutputStream.cpp
+++ b/libs/protoutil/src/ProtoOutputStream.cpp
@@ -17,6 +17,7 @@
#include <inttypes.h>
+#include <android-base/file.h>
#include <android/util/protobuf.h>
#include <android/util/ProtoOutputStream.h>
#include <cutils/log.h>
@@ -467,19 +468,6 @@
return mBuffer.size();
}
-static bool write_all(int fd, uint8_t const* buf, size_t size)
-{
- while (size > 0) {
- ssize_t amt = ::write(fd, buf, size);
- if (amt < 0) {
- return false;
- }
- size -= amt;
- buf += amt;
- }
- return true;
-}
-
bool
ProtoOutputStream::flush(int fd)
{
@@ -488,7 +476,7 @@
EncodedBuffer::iterator it = mBuffer.begin();
while (it.readBuffer() != NULL) {
- if (!write_all(fd, it.readBuffer(), it.currentToRead())) return false;
+ if (!android::base::WriteFully(fd, it.readBuffer(), it.currentToRead())) return false;
it.rp()->move(it.currentToRead());
}
return true;