diff options
author | Elliott Hughes <enh@google.com> | 2015-05-02 03:12:37 +0200 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-05-02 03:12:37 +0200 |
commit | ddc79a95375157bc011d2f902ad6c3de84e26ea8 (patch) | |
tree | e121a86fe799b6f6b96932cc6f76bdd81009f681 /minadbd | |
parent | am ea874f8f: am c67e89ad: am 30cea3dc: Merge "Fix minadb_test build breakage." (diff) | |
parent | am c0537d68: am 6bc2d538: Merge "Move minadb over to new API." (diff) | |
download | android_bootable_recovery-ddc79a95375157bc011d2f902ad6c3de84e26ea8.tar android_bootable_recovery-ddc79a95375157bc011d2f902ad6c3de84e26ea8.tar.gz android_bootable_recovery-ddc79a95375157bc011d2f902ad6c3de84e26ea8.tar.bz2 android_bootable_recovery-ddc79a95375157bc011d2f902ad6c3de84e26ea8.tar.lz android_bootable_recovery-ddc79a95375157bc011d2f902ad6c3de84e26ea8.tar.xz android_bootable_recovery-ddc79a95375157bc011d2f902ad6c3de84e26ea8.tar.zst android_bootable_recovery-ddc79a95375157bc011d2f902ad6c3de84e26ea8.zip |
Diffstat (limited to 'minadbd')
-rw-r--r-- | minadbd/Android.mk | 1 | ||||
-rw-r--r-- | minadbd/fuse_adb_provider.cpp | 21 |
2 files changed, 9 insertions, 13 deletions
diff --git a/minadbd/Android.mk b/minadbd/Android.mk index 083063be1..8398cefe4 100644 --- a/minadbd/Android.mk +++ b/minadbd/Android.mk @@ -20,6 +20,7 @@ LOCAL_CFLAGS := $(minadbd_cflags) LOCAL_CONLY_FLAGS := -Wimplicit-function-declaration LOCAL_C_INCLUDES := bootable/recovery system/core/adb LOCAL_WHOLE_STATIC_LIBRARIES := libadbd +LOCAL_STATIC_LIBRARIES := libbase include $(BUILD_STATIC_LIBRARY) diff --git a/minadbd/fuse_adb_provider.cpp b/minadbd/fuse_adb_provider.cpp index 5da7fd76c..d71807dfb 100644 --- a/minadbd/fuse_adb_provider.cpp +++ b/minadbd/fuse_adb_provider.cpp @@ -26,13 +26,10 @@ #include "fuse_adb_provider.h" #include "fuse_sideload.h" -int read_block_adb(void* cookie, uint32_t block, uint8_t* buffer, - uint32_t fetch_size) { - struct adb_data* ad = (struct adb_data*)cookie; +int read_block_adb(void* data, uint32_t block, uint8_t* buffer, uint32_t fetch_size) { + adb_data* ad = reinterpret_cast<adb_data*>(data); - char buf[10]; - snprintf(buf, sizeof(buf), "%08u", block); - if (!WriteStringFully(ad->sfd, buf)) { + if (!WriteFdFmt(ad->sfd, "%08u", block)) { fprintf(stderr, "failed to write to adb host: %s\n", strerror(errno)); return -EIO; } @@ -45,20 +42,18 @@ int read_block_adb(void* cookie, uint32_t block, uint8_t* buffer, return 0; } -static void close_adb(void* cookie) { - struct adb_data* ad = (struct adb_data*)cookie; - - WriteStringFully(ad->sfd, "DONEDONE"); +static void close_adb(void* data) { + adb_data* ad = reinterpret_cast<adb_data*>(data); + WriteFdExactly(ad->sfd, "DONEDONE"); } int run_adb_fuse(int sfd, uint64_t file_size, uint32_t block_size) { - struct adb_data ad; - struct provider_vtab vtab; - + adb_data ad; ad.sfd = sfd; ad.file_size = file_size; ad.block_size = block_size; + provider_vtab vtab; vtab.read_block = read_block_adb; vtab.close = close_adb; |