aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/inet_parse.erl
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2012-11-19 17:54:08 +0100
committerFredrik Gustafsson <[email protected]>2012-11-19 17:54:08 +0100
commite367eb44969b00cac910c8eb14e7b3ce3ee0cc91 (patch)
treed67392bdda99a969384abc1a986fe138ebcfab7e /lib/kernel/src/inet_parse.erl
parent1ecc870573b37491e9dd7965d29d20efea557c01 (diff)
downloadotp-e367eb44969b00cac910c8eb14e7b3ce3ee0cc91.tar.gz
otp-e367eb44969b00cac910c8eb14e7b3ce3ee0cc91.tar.bz2
otp-e367eb44969b00cac910c8eb14e7b3ce3ee0cc91.zip
Exported ipv4address and ipv6address functions to inet module, changed and made testcases
Diffstat (limited to 'lib/kernel/src/inet_parse.erl')
-rw-r--r--lib/kernel/src/inet_parse.erl13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/kernel/src/inet_parse.erl b/lib/kernel/src/inet_parse.erl
index 65edddcb46..98390d1dcc 100644
--- a/lib/kernel/src/inet_parse.erl
+++ b/lib/kernel/src/inet_parse.erl
@@ -37,7 +37,7 @@
-export([ipv4_address/1, ipv6_address/1]).
-export([ipv4strict_address/1, ipv6strict_address/1]).
--export([address/1]).
+-export([address/1, strict_address/1]).
-export([visible_string/1, domain/1]).
-export([ntoa/1, dots/1]).
-export([split_line/1]).
@@ -472,6 +472,17 @@ address(Cs) when is_list(Cs) ->
address(_) ->
{error, einval}.
+%%Parse ipv4 strict address or ipv6 strict address
+strict_address(Cs) when is_list(Cs) ->
+ case ipv4strict_address(Cs) of
+ {ok,IP} ->
+ {ok,IP};
+ _ ->
+ ipv6strict_address(Cs)
+ end;
+strict_address(Cs) ->
+ {error, einval}.
+
%%
%% Parse IPv4 address:
%% d1.d2.d3.d4