aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch')
-rw-r--r--unmaintained/erlang17/otp-0008-Introduce-os-getenv-2.patch63
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().
+