1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

cgen: make os less special, fix an -autofree leak on just import os

* Improve documentation of v.util.Surrounder

* Remove `os` from the list of "no auto free" `builtin` mods

* Fix -autofree freeing of `const x = []string{}`.

* Add a valgrind regression test.

* Implement os.getenv_opt in vlib/os/environment.js.v too.
This commit is contained in:
Delyan Angelov
2021-11-21 20:53:42 +02:00
parent 117c99d938
commit 1aaac13a60
9 changed files with 189 additions and 35 deletions

View File

@ -20,6 +20,17 @@ pub fn getenv(key string) string {
return res
}
// `getenv_opt` returns the value of the environment variable named by the key.
// If such an environment variable does not exist, then it returns `none`.
pub fn getenv_opt(key string) ?string {
#if (!$ENV[key]) return none__;
mut res := ''
#if ($ENV[key]) res = new string($ENV[key]);
return res
}
// unsetenv clears an environment variable with `name`.
pub fn unsetenv(name string) int {
#$ENV[name] = ""