diff --git a/src/lib/generic_os.rs b/src/lib/generic_os.rs index d1e39a2ea9f8..bb98c0731f81 100644 --- a/src/lib/generic_os.rs +++ b/src/lib/generic_os.rs @@ -38,14 +38,18 @@ fn getenv(n: str) -> option::t { 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; } }