diff options
author | Björn Gustavsson <[email protected]> | 2015-05-08 12:14:10 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-05-08 12:14:10 +0200 |
commit | ff067a0dd4b596120f383f6637be7745150bc106 (patch) | |
tree | 85fe8594c0f8cf3ff5361e55cfd15ec477eacaa3 /lib/stdlib | |
parent | 52ecefa58e47b0a86d814152608ec23c4147fa1f (diff) | |
parent | fd9525a6764e3aa0c29e6456ddaf75035559ebd5 (diff) | |
download | otp-ff067a0dd4b596120f383f6637be7745150bc106.tar.gz otp-ff067a0dd4b596120f383f6637be7745150bc106.tar.bz2 otp-ff067a0dd4b596120f383f6637be7745150bc106.zip |
Merge branch 'bjorn/stdlib/fix-filename-split/OTP-12716'
* bjorn/stdlib/fix-filename-split/OTP-12716:
Correct filename:split(<<"">>)
Diffstat (limited to 'lib/stdlib')
-rw-r--r-- | lib/stdlib/src/filename.erl | 2 | ||||
-rw-r--r-- | lib/stdlib/test/filename_SUITE.erl | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/stdlib/src/filename.erl b/lib/stdlib/src/filename.erl index 632af17e2a..68bd4f71cc 100644 --- a/lib/stdlib/src/filename.erl +++ b/lib/stdlib/src/filename.erl @@ -648,7 +648,7 @@ split(Name0) -> unix_splitb(Name) -> L = binary:split(Name,[<<"/">>],[global]), LL = case L of - [<<>>|Rest] -> + [<<>>|Rest] when Rest =/= [] -> [<<"/">>|Rest]; _ -> L diff --git a/lib/stdlib/test/filename_SUITE.erl b/lib/stdlib/test/filename_SUITE.erl index 6f1d1a891d..70e7ad9788 100644 --- a/lib/stdlib/test/filename_SUITE.erl +++ b/lib/stdlib/test/filename_SUITE.erl @@ -395,6 +395,8 @@ split(Config) when is_list(Config) -> ?line ["foo", "bar", "hello"]= filename:split("foo////bar//hello"), ?line ["foo", "bar", "hello"]= filename:split(["foo//",'//bar//h',"ello"]), ?line ["foo", "bar", "hello"]= filename:split(["foo//",'//bar//h'|ello]), + ["/"] = filename:split("/"), + [] = filename:split(""), case os:type() of {win32,_} -> ?line ["a:/","msdev","include"] = @@ -767,6 +769,8 @@ split_bin(Config) when is_list(Config) -> [<<"/">>,<<"usr">>,<<"local">>,<<"bin">>] = filename:split(<<"/usr/local/bin">>), [<<"foo">>,<<"bar">>]= filename:split(<<"foo/bar">>), [<<"foo">>, <<"bar">>, <<"hello">>]= filename:split(<<"foo////bar//hello">>), + [<<"/">>] = filename:split(<<"/">>), + [] = filename:split(<<"">>), case os:type() of {win32,_} -> [<<"a:/">>,<<"msdev">>,<<"include">>] = |