adb: Avoid extra std::string copies
When a function argument takes a std::string, it's inefficient to pass std::string::c_str(), since that creates an additional copy. So we change these calling sites. Test: TreeHugger Change-Id: I1c0fde7275eb3ebd3baf05ec62581b0243655608
This commit is contained in:
parent
d2c4eb0dae
commit
e2125fdeb1
6 changed files with 8 additions and 8 deletions
|
@ -312,7 +312,7 @@ std::string adb_get_android_dir_path() {
|
|||
std::string android_dir = user_dir + OS_PATH_SEPARATOR + ".android";
|
||||
struct stat buf;
|
||||
if (stat(android_dir.c_str(), &buf) == -1) {
|
||||
if (adb_mkdir(android_dir.c_str(), 0750) == -1) {
|
||||
if (adb_mkdir(android_dir, 0750) == -1) {
|
||||
PLOG(FATAL) << "Cannot mkdir '" << android_dir << "'";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ class BugreportTest : public ::testing::Test {
|
|||
|
||||
void ExpectBugreportzVersion(const std::string& version) {
|
||||
EXPECT_CALL(br_, SendShellCommand("bugreportz -v", false, _))
|
||||
.WillOnce(DoAll(WithArg<2>(WriteOnStderr(version.c_str())),
|
||||
.WillOnce(DoAll(WithArg<2>(WriteOnStderr(version)),
|
||||
WithArg<2>(ReturnCallbackDone(0))));
|
||||
}
|
||||
|
||||
|
|
|
@ -416,7 +416,7 @@ void adb_auth_init() {
|
|||
#endif
|
||||
|
||||
for (const std::string& path : key_paths) {
|
||||
load_keys(path.c_str());
|
||||
load_keys(path);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1012,7 +1012,7 @@ bool do_sync_push(const std::vector<const char*>& srcs, const char* dst, bool sy
|
|||
dst_dir.append(android::base::Basename(src_path));
|
||||
}
|
||||
|
||||
success &= copy_local_dir_remote(sc, src_path, dst_dir.c_str(), sync, false);
|
||||
success &= copy_local_dir_remote(sc, src_path, dst_dir, sync, false);
|
||||
continue;
|
||||
} else if (!should_push_file(st.st_mode)) {
|
||||
sc.Warning("skipping special file '%s' (mode = 0o%o)", src_path, st.st_mode);
|
||||
|
@ -1128,7 +1128,7 @@ static bool copy_remote_dir_local(SyncConnection& sc, std::string rpath,
|
|||
// Recursively build the list of files to copy.
|
||||
sc.Printf("pull: building file list...");
|
||||
std::vector<copyinfo> file_list;
|
||||
if (!remote_build_list(sc, &file_list, rpath.c_str(), lpath.c_str())) {
|
||||
if (!remote_build_list(sc, &file_list, rpath, lpath)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1240,7 +1240,7 @@ bool do_sync_pull(const std::vector<const char*>& srcs, const char* dst,
|
|||
dst_dir.append(android::base::Basename(src_path));
|
||||
}
|
||||
|
||||
success &= copy_remote_dir_local(sc, src_path, dst_dir.c_str(), copy_attrs);
|
||||
success &= copy_remote_dir_local(sc, src_path, dst_dir, copy_attrs);
|
||||
continue;
|
||||
} else if (!should_pull_file(src_st.st_mode)) {
|
||||
sc.Warning("skipping special file '%s' (mode = 0o%o)", src_path, src_st.st_mode);
|
||||
|
|
|
@ -422,7 +422,7 @@ static bool do_send(int s, const std::string& spec, std::vector<char>& buffer) {
|
|||
bool result;
|
||||
uint32_t timestamp;
|
||||
if (S_ISLNK(mode)) {
|
||||
result = handle_send_link(s, path.c_str(), ×tamp, buffer);
|
||||
result = handle_send_link(s, path, ×tamp, buffer);
|
||||
} else {
|
||||
// Copy user permission bits to "group" and "other" permissions.
|
||||
mode &= 0777;
|
||||
|
|
|
@ -188,7 +188,7 @@ static void connect_service(unique_fd fd, std::string host) {
|
|||
if (!strncmp(host.c_str(), "emu:", 4)) {
|
||||
connect_emulator(host.c_str() + 4, &response);
|
||||
} else {
|
||||
connect_device(host.c_str(), &response);
|
||||
connect_device(host, &response);
|
||||
}
|
||||
|
||||
// Send response for emulator and device
|
||||
|
|
Loading…
Reference in a new issue