mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-09-02 04:11:33 +02:00
64 lines
2.0 KiB
Diff
64 lines
2.0 KiB
Diff
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().
|
|
|