From c6e1edcc2802224cb9b312e9051e6bcdfc7935e4 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Wed, 12 Aug 2020 12:34:42 -0700 Subject: src: add Update(const sockaddr*) variant Signed-off-by: James M Snell PR-URL: https://github.com/nodejs/node/pull/34752 Reviewed-By: Jiawen Geng Reviewed-By: Anna Henningsen --- src/node_sockaddr-inl.h | 5 +++++ src/node_sockaddr.h | 1 + 2 files changed, 6 insertions(+) (limited to 'src') diff --git a/src/node_sockaddr-inl.h b/src/node_sockaddr-inl.h index e5d8985771e..b5ae5acb5fd 100644 --- a/src/node_sockaddr-inl.h +++ b/src/node_sockaddr-inl.h @@ -152,6 +152,11 @@ void SocketAddress::Update(uint8_t* data, size_t len) { memcpy(&address_, data, len); } +void SocketAddress::Update(const sockaddr* data, size_t len) { + CHECK_LE(len, sizeof(address_)); + memcpy(&address_, data, len); +} + v8::Local SocketAddress::ToJS( Environment* env, v8::Local info) const { diff --git a/src/node_sockaddr.h b/src/node_sockaddr.h index 69a370afa32..f05b58d3551 100644 --- a/src/node_sockaddr.h +++ b/src/node_sockaddr.h @@ -123,6 +123,7 @@ class SocketAddress : public MemoryRetainer { inline void set_flow_label(uint32_t label = 0); inline void Update(uint8_t* data, size_t len); + inline void Update(const sockaddr* data, size_t len); static SocketAddress FromSockName(const uv_udp_t& handle); static SocketAddress FromSockName(const uv_tcp_t& handle); -- cgit v1.2.3