summaryrefslogtreecommitdiff
path: root/erts/preloaded/src/prim_net.erl
diff options
context:
space:
mode:
Diffstat (limited to 'erts/preloaded/src/prim_net.erl')
-rw-r--r--erts/preloaded/src/prim_net.erl17
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.
%% ===========================================================================