mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-10-31 16:31:40 +01:00 
			
		
		
		
	This package is for applications that depend on Erlang but are not compatible with version 18
		
			
				
	
	
		
			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().
 | |
|  
 |