rustc: One Less Bad Copy
This commit is contained in:
parent
72c04a9ffe
commit
5ff6beed60
1 changed files with 4 additions and 2 deletions
|
@ -148,10 +148,12 @@ fn get_cargo_root_nearest() -> Result<Path, ~str> {
|
||||||
do result::chain(get_cargo_root()) |p| {
|
do result::chain(get_cargo_root()) |p| {
|
||||||
let cwd = os::getcwd();
|
let cwd = os::getcwd();
|
||||||
let cwd_cargo = cwd.push(".cargo");
|
let cwd_cargo = cwd.push(".cargo");
|
||||||
|
let cargo_is_non_root_file =
|
||||||
|
!os::path_is_dir(&cwd_cargo) && cwd_cargo != p;
|
||||||
let mut par_cargo = cwd.pop().push(".cargo");
|
let mut par_cargo = cwd.pop().push(".cargo");
|
||||||
let mut rslt = result::Ok(copy cwd_cargo); // XXX: Bad copy.
|
let mut rslt = result::Ok(cwd_cargo);
|
||||||
|
|
||||||
if !os::path_is_dir(&cwd_cargo) && cwd_cargo != p {
|
if cargo_is_non_root_file {
|
||||||
while par_cargo != p {
|
while par_cargo != p {
|
||||||
if os::path_is_dir(&par_cargo) {
|
if os::path_is_dir(&par_cargo) {
|
||||||
rslt = result::Ok(par_cargo);
|
rslt = result::Ok(par_cargo);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue