blob: d7b0e5e5383d75149a377a97f8fde098e133e020 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
use sys
use "extremum.use"
use "option.use"
use "sleq.use"
pkg std =
const getenv : (name : byte[:] -> option(byte[:]))
const getenvv : (name : byte[:], default : byte[:] -> byte[:])
;;
const getenv = {name
var n
for env in sys.__environment
n = min(name.len, env.len)
if sleq(name, env[:n]) && sleq(env[n:n+1], "=")
-> `Some env[n+1:]
;;
;;
-> `None
}
const getenvv = {name, default
match getenv(name)
| `Some v: -> v
| `None: -> default
;;
}
|