X-Git-Url: http://nitlanguage.org diff --git a/lib/standard/environ.nit b/lib/standard/environ.nit index d8ab867..9c584de 100644 --- a/lib/standard/environ.nit +++ b/lib/standard/environ.nit @@ -11,32 +11,27 @@ # 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 # TODO prevoir une structure pour recup tout un environ, le modifier et le passer a process redef class Symbol # Return environement valued for this symbol - meth environ: String + fun environ: String do - environ_default = "" # FIXME: Why this ?!? - return new String.from_cstring(to_s.to_cstring.get_environ) + var res = to_s.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) + else + return "" + end end - - # set environement value for this symbol - meth environ=(v: String) do to_s.to_cstring.set_environ(v.to_cstring, 1) - - # set default environement value for this symbol - meth environ_default=(v: String) do to_s.to_cstring.set_environ(v.to_cstring, 0) - - # Unset the environement value of this symbol - meth unset do to_s.to_cstring.unset_environ end redef class NativeString # Refinned to add environement bindings - private meth get_environ: NativeString is extern "string_NativeString_NativeString_get_environ_0" - private meth put_environ is extern "string_NativeString_NativeString_put_environ_0" # this one is a bit compilcated to use ... so we dosen't use - private meth unset_environ is extern "string_NativeString_NativeString_unset_environ_0" - private meth set_environ(value : NativeString, overwrite : Int) is extern "string_NativeString_NativeString_set_environ_2" + private fun get_environ: NativeString is extern "string_NativeString_NativeString_get_environ_0" end