Cleanse usage of some unsafe functions on win32
This commit is contained in:
parent
e8a0e592da
commit
6e67c4b253
1 changed files with 5 additions and 1 deletions
|
|
@ -38,14 +38,18 @@ fn getenv(n: str) -> option::t<str> {
|
|||
let res =
|
||||
str::as_buf(n,
|
||||
{|nbuf|
|
||||
unsafe {
|
||||
let vbuf = vec::to_ptr(v);
|
||||
os::kernel32::GetEnvironmentVariableA(nbuf, vbuf,
|
||||
nsize)
|
||||
}
|
||||
});
|
||||
if res == 0u {
|
||||
ret option::none;
|
||||
} else if res < nsize {
|
||||
vec::unsafe::set_len(v, res);
|
||||
unsafe {
|
||||
vec::unsafe::set_len(v, res);
|
||||
}
|
||||
ret option::some(str::unsafe_from_bytes(v));
|
||||
} else { nsize = res; }
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue