diff --git a/adb/client/incremental.cpp b/adb/client/incremental.cpp index a9e65dc2c..33a1a37ba 100644 --- a/adb/client/incremental.cpp +++ b/adb/client/incremental.cpp @@ -188,12 +188,8 @@ std::optional install(std::vector files) { std::string adb_path = android::base::GetExecutablePath(); - auto osh = adb_get_os_handle(connection_fd.get()); -#ifdef _WIN32 - auto fd_param = std::to_string(reinterpret_cast(osh)); -#else /* !_WIN32 a.k.a. Unix */ + auto osh = cast_handle_to_int(adb_get_os_handle(connection_fd.get())); auto fd_param = std::to_string(osh); -#endif // pipe for child process to write output int print_fds[2]; @@ -202,7 +198,7 @@ std::optional install(std::vector files) { return {}; } auto [pipe_read_fd, pipe_write_fd] = print_fds; - auto pipe_write_fd_param = std::to_string(intptr_t(adb_get_os_handle(pipe_write_fd))); + auto pipe_write_fd_param = std::to_string(cast_handle_to_int(adb_get_os_handle(pipe_write_fd))); close_on_exec(pipe_read_fd); std::vector args(std::move(files)); diff --git a/adb/client/pairing/pairing_client.cpp b/adb/client/pairing/pairing_client.cpp index 04bbcebd4..937a5bd4c 100644 --- a/adb/client/pairing/pairing_client.cpp +++ b/adb/client/pairing/pairing_client.cpp @@ -141,11 +141,7 @@ bool PairingClientImpl::StartConnection() { cert_.size(), priv_key_.data(), priv_key_.size())); CHECK(connection_); -#ifdef _WIN32 int osh = cast_handle_to_int(adb_get_os_handle(fd.release())); -#else - int osh = adb_get_os_handle(fd.release()); -#endif if (!pairing_connection_start(connection_.get(), osh, OnPairingResult, this)) { LOG(ERROR) << "PairingClient failed to start the PairingConnection"; state_ = State::Stopped; diff --git a/adb/sysdeps.h b/adb/sysdeps.h index 3e781b8ac..9a879b57b 100644 --- a/adb/sysdeps.h +++ b/adb/sysdeps.h @@ -665,6 +665,10 @@ static __inline__ int adb_get_os_handle(borrowed_fd fd) { return fd.get(); } +static __inline__ int cast_handle_to_int(int fd) { + return fd; +} + // A very simple wrapper over a launched child process class Process { public: diff --git a/adb/transport.cpp b/adb/transport.cpp index ed4a93b5c..6dccb7f68 100644 --- a/adb/transport.cpp +++ b/adb/transport.cpp @@ -500,12 +500,8 @@ bool FdConnection::DoTlsHandshake(RSA* key, std::string* auth_key) { auto x509 = GenerateX509Certificate(evp_pkey.get()); auto x509_str = X509ToPEMString(x509.get()); auto evp_str = Key::ToPEMString(evp_pkey.get()); -#ifdef _WIN32 - int osh = cast_handle_to_int(adb_get_os_handle(fd_)); -#else - int osh = adb_get_os_handle(fd_); -#endif + int osh = cast_handle_to_int(adb_get_os_handle(fd_)); #if ADB_HOST tls_ = TlsConnection::Create(TlsConnection::Role::Client, #else