summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sysif.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sysif.c b/sysif.c
index 0ae1030d..481a47ff 100644
--- a/sysif.c
+++ b/sysif.c
@@ -1511,7 +1511,10 @@ static val setenv_wrap(val name, val value, val overwrite)
char *nameu8 = utf8_dup_to(wname);
char *valu8 = wvalu ? utf8_dup_to(wvalu) : 0;
if (valu8) {
- setenv(nameu8, valu8, ovw);
+ if (setenv(nameu8, valu8, ovw) < 0)
+ uw_ethrowf(system_error_s, lit("~a: setenv failed: ~d/~s"),
+ self, num(errno), errno_to_str(errno), nao);
+
env_list = nil;
if (env_hash) {