syntax: 'meth' -> 'fun', 'attr' -> 'var'
[nit.git] / lib / standard / environ.nit
index d8ab867..8a0c667 100644 (file)
@@ -17,26 +17,22 @@ import symbol
 
 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
+                       "env {self}=".output
+                       res.output
+                       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