diff options
Diffstat (limited to 'unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch')
-rw-r--r-- | unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch b/unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch new file mode 100644 index 0000000000..6c48db2122 --- /dev/null +++ b/unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch @@ -0,0 +1,63 @@ +From: Peter Lemenkov <lemenkov@gmail.com> +Date: Sat, 8 Nov 2014 15:11:04 +0300 +Subject: [PATCH] Introduce os:getenv/2 + +Signed-off-by: Peter Lemenkov <lemenkov@gmail.com> + +diff --git a/lib/kernel/doc/src/os.xml b/lib/kernel/doc/src/os.xml +index 2b57e75..8b85f24 100644 +--- a/lib/kernel/doc/src/os.xml ++++ b/lib/kernel/doc/src/os.xml +@@ -100,6 +100,19 @@ DirOut = os:cmd("dir"), % on Win32 platform</code> + </desc> + </func> + <func> ++ <name name="getenv" arity="2"/> ++ <fsummary>Get the value of an environment variable</fsummary> ++ <desc> ++ <p>Returns the <c><anno>Value</anno></c> of the environment variable ++ <c><anno>VarName</anno></c>, or <c>DefaultValue</c> if the environment variable ++ is undefined.</p> ++ <p>If Unicode file name encoding is in effect (see the <seealso ++ marker="erts:erl#file_name_encoding">erl manual ++ page</seealso>), the strings (both <c><anno>VarName</anno></c> and ++ <c><anno>Value</anno></c>) may contain characters with codepoints > 255.</p> ++ </desc> ++ </func> ++ <func> + <name name="getpid" arity="0"/> + <fsummary>Return the process identifier of the emulator process</fsummary> + <desc> +diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl +index 187fd00..8aaf13b 100644 +--- a/lib/kernel/src/os.erl ++++ b/lib/kernel/src/os.erl +@@ -26,7 +26,7 @@ + + %%% BIFs + +--export([getenv/0, getenv/1, getpid/0, putenv/2, timestamp/0, unsetenv/1]). ++-export([getenv/0, getenv/1, getenv/2, getpid/0, putenv/2, timestamp/0, unsetenv/1]). + + -spec getenv() -> [string()]. + +@@ -39,6 +39,19 @@ getenv() -> erlang:nif_error(undef). + getenv(_) -> + erlang:nif_error(undef). + ++-spec getenv(VarName, DefaultValue) -> Value when ++ VarName :: string(), ++ DefaultValue :: string(), ++ Value :: string(). ++ ++getenv(VarName, DefaultValue) -> ++ case os:getenv(VarName) of ++ false -> ++ DefaultValue; ++ Value -> ++ Value ++ end. ++ + -spec getpid() -> Value when + Value :: string(). + |