These functions can fail if:
- EINVAL: The name is empty, or contains an '=' character
- ENOMEM: Insufficient memory
with_env_lock(|| {
n.with_c_str(|nbuf| {
v.with_c_str(|vbuf| {
with_env_lock(|| {
n.with_c_str(|nbuf| {
v.with_c_str(|vbuf| {
- libc::funcs::posix01::unistd::setenv(nbuf, vbuf, 1);
+ if libc::funcs::posix01::unistd::setenv(nbuf, vbuf, 1) != 0 {
+ panic!(IoError::last_error());
+ }
unsafe {
with_env_lock(|| {
unsafe {
with_env_lock(|| {
- libc::SetEnvironmentVariableW(n.as_ptr(), v.as_ptr());
+ if libc::SetEnvironmentVariableW(n.as_ptr(), v.as_ptr()) == 0 {
+ panic!(IoError::last_error());
+ }
unsafe {
with_env_lock(|| {
n.with_c_str(|nbuf| {
unsafe {
with_env_lock(|| {
n.with_c_str(|nbuf| {
- libc::funcs::posix01::unistd::unsetenv(nbuf);
+ if libc::funcs::posix01::unistd::unsetenv(nbuf) != 0 {
+ panic!(IoError::last_error());
+ }
n.push(0);
unsafe {
with_env_lock(|| {
n.push(0);
unsafe {
with_env_lock(|| {
- libc::SetEnvironmentVariableW(n.as_ptr(), ptr::null());
+ if libc::SetEnvironmentVariableW(n.as_ptr(), ptr::null()) == 0 {
+ panic!(IoError::last_error());
+ }
}
/// Parses input according to platform conventions for the `PATH`
}
/// Parses input according to platform conventions for the `PATH`