From 43675badfd700d12b2d95bb5117c5672d2722f9f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 8 Mar 2016 06:19:19 -0800 Subject: Bugfix in setenv: default argument handling. * sysif.c (setenv_wrap): We must use default_arg_strict, not default_arg, because default_arg treats a nil value as missing. We do not want to replace an explicit nil with the default t. --- sysif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysif.c b/sysif.c index d0a06ca0..1ad5db35 100644 --- a/sysif.c +++ b/sysif.c @@ -704,7 +704,7 @@ static val setenv_wrap(val name, val value, val overwrite) { char *nameu8 = utf8_dup_to(c_str(name)); char *valu8 = value ? utf8_dup_to(c_str(value)) : 0; - int ovw = default_arg(overwrite, t) != nil; + int ovw = default_arg_strict(overwrite, t) != nil; if (valu8) setenv(nameu8, valu8, ovw); else if (ovw) -- cgit v1.2.3