X-Git-Url: http://nitlanguage.org diff --git a/lib/standard/environ.nit b/lib/standard/environ.nit index 05b731a..93f5b25 100644 --- a/lib/standard/environ.nit +++ b/lib/standard/environ.nit @@ -11,27 +11,39 @@ # You are allowed to redistribute it and sell it, alone or is a part of # another product. -# Acces of the environement variables of the process -import symbol +# Access to the environment variables of the process +module environ + +import string # TODO prevoir une structure pour recup tout un environ, le modifier et le passer a process -redef class Symbol - # Return environement value for this symbol - # If there is no such environement value, then return "" +redef class String + # Return environment value for the symbol. + # If there is no such environment variable, then return "" + # + # assert "PATH".environ != "" + # assert "NIT %\n".environ == "" fun environ: String do - var res = to_s.to_cstring.get_environ + var res = self.to_cstring.get_environ # FIXME: There is no proper way to handle NULL C string yet. What a pitty. var nulstr = once ("".to_cstring.get_environ) if res != nulstr then - return new String.from_cstring(res) + return res.to_s else return "" end end + + # Set the enviroment value of a variable. + # + # "NITis".setenv("fun") + # assert "NITis".environ == "fun" + fun setenv(v: String) do to_cstring.setenv( v.to_cstring ) end redef class NativeString private fun get_environ: NativeString is extern "string_NativeString_NativeString_get_environ_0" + private fun setenv( v : NativeString ) is extern "string_NativeString_NativeString_setenv_1" end