package org.jerlang.kernel.os;
import jnr.posix.POSIX;
import jnr.posix.POSIXFactory;
import org.jerlang.erts.erlang.Error;
import org.jerlang.type.Boolean;
import org.jerlang.type.List;
import org.jerlang.type.Str;
import org.jerlang.type.Term;
public class OSPutenv {
private static final POSIX posix;
static {
posix = POSIXFactory.getPOSIX();
}
public static Term dispatch(List params) {
switch (params.length()) {
case 2:
Str varName = params.head().toStr();
params = params.tail();
Str value = params.head().toStr();
return putenv_2(varName, value);
default:
throw Error.badarg;
}
}
/**
* Sets a new Value for the environment variable VarName.
*
* http://www.erlang.org/doc/man/os.html#putenv-2
*/
public static Term putenv_2(Str varName, Str value) {
posix.setenv(varName.string(), value.string(), 1);
return Boolean.am_true;
}
}