Skip to content

Commit 18c13de

Browse files
committed
std:: switch the order in which dynamic_lib adds search paths.
The compiler needs to be opening e.g. libregex in the correct directory, which requires getting these in the right order.
1 parent b1ee320 commit 18c13de

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/libstd/unstable/dynamic_lib.rs

+8-6
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ A simple wrapper over the platform's dynamic library facilities
1616
1717
*/
1818

19+
1920
use c_str::ToCStr;
20-
use iter::Iterator;
2121
use mem;
2222
use ops::*;
2323
use option::*;
2424
use os;
2525
use path::GenericPath;
2626
use path;
2727
use result::*;
28-
use slice::{Vector,OwnedVector};
28+
use slice::Vector;
2929
use str;
3030
use vec::Vec;
3131

@@ -75,10 +75,12 @@ impl DynamicLibrary {
7575
} else {
7676
("LD_LIBRARY_PATH", ':' as u8)
7777
};
78-
let newenv = os::getenv_as_bytes(envvar).unwrap_or(box []);
79-
let mut newenv = newenv.move_iter().collect::<Vec<_>>();
80-
newenv.push_all(&[sep]);
81-
newenv.push_all(path.as_vec());
78+
let mut newenv = Vec::from_slice(path.as_vec());
79+
newenv.push(sep);
80+
match os::getenv_as_bytes(envvar) {
81+
Some(bytes) => newenv.push_all(bytes),
82+
None => {}
83+
}
8284
os::setenv(envvar, str::from_utf8(newenv.as_slice()).unwrap());
8385
}
8486

0 commit comments

Comments
 (0)