Clean up setenv a bit.
@@ -59,7 +59,10 @@ const setenv = {name, val
lock(envlck)
for envp : environ
- if envp != Zenvp
+ if envp == Zenvp
+ break
+ ;;
+
env = cstrconvp(envp)
n = min(name.len, env.len - 1)
if eq(name, env[:n]) && env[n] == ('=' : byte)
@@ -68,11 +71,10 @@ const setenv = {name, val
;;
idx++
;;
- ;;
if found
std.slfree(cstrconvp(environ[idx]))
else
- idx = env.len - 1
+ idx = environ.len - 1
std.slpush(&environ, Zenvp)
;;
environ[idx] = (e : byte#)
