diff options
Diffstat (limited to 'erts/preloaded/src/prim_net.erl')
-rw-r--r-- | erts/preloaded/src/prim_net.erl | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/erts/preloaded/src/prim_net.erl b/erts/preloaded/src/prim_net.erl index fcd528bdaa..e82ae33b8a 100644 --- a/erts/preloaded/src/prim_net.erl +++ b/erts/preloaded/src/prim_net.erl @@ -157,15 +157,14 @@ gethostname() -> Info :: name_info(), Reason :: term(). -getnameinfo(SockAddr, [] = _Flags) -> - getnameinfo(SockAddr, undefined); -getnameinfo(#{family := Fam, addr := _Addr} = SockAddr, Flags) - when ((Fam =:= inet) orelse (Fam =:= inet6)) andalso - (is_list(Flags) orelse (Flags =:= undefined)) -> - nif_getnameinfo(socket:ensure_sockaddr(SockAddr), Flags); -getnameinfo(#{family := Fam, path := _Path} = SockAddr, Flags) - when (Fam =:= local) andalso (is_list(Flags) orelse (Flags =:= undefined)) -> - nif_getnameinfo(SockAddr, Flags). +getnameinfo(SockAddr, Flags) -> + try + ESockAddr = prim_socket:encode_sockaddr(SockAddr), + nif_getnameinfo(ESockAddr, Flags) + catch + throw : ERROR -> + ERROR + end. %% =========================================================================== |