diff options
author | Fredrik Gustafsson <[email protected]> | 2013-08-05 11:15:37 +0200 |
---|---|---|
committer | Fredrik Gustafsson <[email protected]> | 2013-08-05 11:15:37 +0200 |
commit | 0fad6449c7ec48aa7454880b5a1caf0f2580b33f (patch) | |
tree | 8ad03a5af4cc92d9cab110dfa5facda474d0bb96 /lib/kernel/src | |
parent | 08c4a46e0be4017bbcee596eb4858d0e16eaaec6 (diff) | |
parent | d8787b43ca5f33b6ec95300c8ce6f06c80886801 (diff) | |
download | otp-0fad6449c7ec48aa7454880b5a1caf0f2580b33f.tar.gz otp-0fad6449c7ec48aa7454880b5a1caf0f2580b33f.tar.bz2 otp-0fad6449c7ec48aa7454880b5a1caf0f2580b33f.zip |
Merge branch 'fredrik/inet/clarify_doc_address/OTP-10676' into maint
* fredrik/inet/clarify_doc_address/OTP-10676:
kernel: fixed specs to inet:ntoa/1
kernel: changed tests where inet_parse:ntoa/1 was used to inet:parse/1
kernel: added ntoa documentation and exported it in inet.erl
kernel: clarified inet:parse_address/1 referrering to old code
Diffstat (limited to 'lib/kernel/src')
-rw-r--r-- | lib/kernel/src/inet.erl | 9 | ||||
-rw-r--r-- | lib/kernel/src/inet_parse.erl | 4 |
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/kernel/src/inet.erl b/lib/kernel/src/inet.erl index 3ea530a366..5749027acd 100644 --- a/lib/kernel/src/inet.erl +++ b/lib/kernel/src/inet.erl @@ -32,7 +32,7 @@ ip/1, stats/0, options/0, pushf/3, popf/1, close/1, gethostname/0, gethostname/1, parse_ipv4_address/1, parse_ipv6_address/1, parse_ipv4strict_address/1, - parse_ipv6strict_address/1, parse_address/1, parse_strict_address/1]). + parse_ipv6strict_address/1, parse_address/1, parse_strict_address/1, ntoa/1]). -export([connect_options/2, listen_options/2, udp_options/2, sctp_options/2]). @@ -529,6 +529,13 @@ getservbyname(Name, Protocol) when is_atom(Name) -> Error -> Error end. +-spec ntoa(IpAddress) -> + {ok, Address} | {error, einval} when + Address :: string(), + IpAddress :: ip_address(). +ntoa(Addr) -> + inet_parse:ntoa(Addr). + -spec parse_ipv4_address(Address) -> {ok, IPv4Address} | {error, einval} when Address :: string(), diff --git a/lib/kernel/src/inet_parse.erl b/lib/kernel/src/inet_parse.erl index 619c78a6ca..98bd8d386c 100644 --- a/lib/kernel/src/inet_parse.erl +++ b/lib/kernel/src/inet_parse.erl @@ -722,7 +722,9 @@ ntoa({0,0,0,0,0,16#ffff,A,B}) -> "::FFFF:" ++ dig_to_dec(A) ++ "." ++ dig_to_dec(B); ntoa({_,_,_,_,_,_,_,_}=T) -> %% Find longest sequence of zeros, at least 2, to replace with "::" - ntoa(tuple_to_list(T), []). + ntoa(tuple_to_list(T), []); +ntoa(_) -> + {error, einval}. %% Find first double zero ntoa([], R) -> |