Quellcode durchsuchen

properly escape paths

pull/28/head
Tristan Sloughter vor 10 Jahren
Ursprung
Commit
154b70b466
1 geänderte Dateien mit 6 neuen und 6 gelöschten Zeilen
  1. +6
    -6
      src/rebar_file_utils.erl

+ 6
- 6
src/rebar_file_utils.erl Datei anzeigen

@ -44,7 +44,7 @@
rm_rf(Target) ->
case os:type() of
{unix, _} ->
EscTarget = escape_spaces(Target),
EscTarget = escape_path(Target),
{ok, []} = rebar_utils:sh(?FMT("rm -rf ~s", [EscTarget]),
[{use_stdout, false}, abort_on_error]),
ok;
@ -63,7 +63,7 @@ cp_r([], _Dest) ->
cp_r(Sources, Dest) ->
case os:type() of
{unix, _} ->
EscSources = [escape_spaces(Src) || Src <- Sources],
EscSources = [escape_path(Src) || Src <- Sources],
SourceStr = string:join(EscSources, " "),
{ok, []} = rebar_utils:sh(?FMT("cp -R ~s \"~s\"",
[SourceStr, Dest]),
@ -78,8 +78,8 @@ cp_r(Sources, Dest) ->
mv(Source, Dest) ->
case os:type() of
{unix, _} ->
EscSource = escape_spaces(Source),
EscDest = escape_spaces(Dest),
EscSource = escape_path(Source),
EscDest = escape_path(Dest),
{ok, []} = rebar_utils:sh(?FMT("mv ~s ~s", [EscSource, EscDest]),
[{use_stdout, false}, abort_on_error]),
ok;
@ -190,5 +190,5 @@ cp_r_win32(Source,Dest) ->
end, filelib:wildcard(Source)),
ok.
escape_spaces(Str) ->
re:replace(Str, " ", "\\\\ ", [global, {return, list}]).
escape_path(Str) ->
re:replace(Str, "([ ()?])", "\\\\&", [global, {return, list}]).

Laden…
Abbrechen
Speichern