mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 11:06:20 +00:00
Support environment vars with unicode characters
The results returned by os:getenv() may contain unicode characters. That said, we need to explicitly allow unicode when splitting the environment information, otherwise badarg will be raised causing all rebar commands to fail until the environment variable is removed.
This commit is contained in:
parent
7dad2b384b
commit
61c353dcfd
1 changed files with 3 additions and 3 deletions
|
@ -399,7 +399,7 @@ expand_vars_loop([], Recurse, Vars, Count) ->
|
||||||
expand_vars_loop(Recurse, [], Vars, Count-1);
|
expand_vars_loop(Recurse, [], Vars, Count-1);
|
||||||
expand_vars_loop([{K, V} | Rest], Recurse, Vars, Count) ->
|
expand_vars_loop([{K, V} | Rest], Recurse, Vars, Count) ->
|
||||||
%% Identify the variables that need expansion in this value
|
%% Identify the variables that need expansion in this value
|
||||||
ReOpts = [global, {capture, all_but_first, list}],
|
ReOpts = [global, {capture, all_but_first, list}, unicode],
|
||||||
case re:run(V, "\\\${?(\\w+)}?", ReOpts) of
|
case re:run(V, "\\\${?(\\w+)}?", ReOpts) of
|
||||||
{match, Matches} ->
|
{match, Matches} ->
|
||||||
%% Identify the unique variables that need to be expanded
|
%% Identify the unique variables that need to be expanded
|
||||||
|
@ -472,8 +472,8 @@ erts_dir() ->
|
||||||
lists:concat([code:root_dir(), "/erts-", erlang:system_info(version)]).
|
lists:concat([code:root_dir(), "/erts-", erlang:system_info(version)]).
|
||||||
|
|
||||||
os_env() ->
|
os_env() ->
|
||||||
Os = [list_to_tuple(re:split(S, "=", [{return, list}, {parts, 2}])) ||
|
ReOpts = [{return, list}, {parts, 2}, unicode],
|
||||||
S <- os:getenv()],
|
Os = [list_to_tuple(re:split(S, "=", ReOpts)) || S <- os:getenv()],
|
||||||
%% Drop variables without a name (win32)
|
%% Drop variables without a name (win32)
|
||||||
[T1 || {K, _V} = T1 <- Os, K =/= []].
|
[T1 || {K, _V} = T1 <- Os, K =/= []].
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue