From cc2f124070c0f4a4b69392e536f6fcae466c35f6 Mon Sep 17 00:00:00 2001 From: Alex Buynytskyy Date: Thu, 27 Jun 2019 10:33:54 -0700 Subject: [PATCH] Refactorings to match adb_abb to adb_shell code. Test: Build, flash and boot, use `adb abb` to verify Change-Id: I30eb6e8a4fd43b1548a9398376c72e2cb31223a4 --- adb/client/commandline.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/adb/client/commandline.cpp b/adb/client/commandline.cpp index 7211f7226..286ba6eb3 100644 --- a/adb/client/commandline.cpp +++ b/adb/client/commandline.cpp @@ -775,17 +775,16 @@ static int adb_abb(int argc, const char** argv) { error_exit("abb is not supported by the device"); } + optind = 1; // argv[0] is always "abb", so set `optind` appropriately. + // Defaults. constexpr char escape_char = '~'; // -e constexpr bool use_shell_protocol = true; constexpr auto shell_type_arg = kShellServiceArgRaw; constexpr bool empty_command = false; - std::string service_string("abb:"); - for (auto i = optind; i < argc; ++i) { - service_string.append(argv[i]); - service_string.push_back(ABB_ARG_DELIMETER); - } + std::vector args(argv + optind, argv + argc); + std::string service_string = "abb:" + android::base::Join(args, ABB_ARG_DELIMETER); D("abb -e 0x%x [%*.s]\n", escape_char, static_cast(service_string.size()), service_string.data());