summaryrefslogtreecommitdiffstats
path: root/envread.c
diff options
context:
space:
mode:
Diffstat (limited to 'envread.c')
-rw-r--r--envread.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/envread.c b/envread.c
new file mode 100644
index 0000000..80185de
--- /dev/null
+++ b/envread.c
@@ -0,0 +1,30 @@
1#include "env.h"
2#include "str.h"
3
4extern /*@null@*/char *env_get(s)
5char *s;
6{
7 int i;
8 unsigned int slen;
9 char *envi;
10
11 slen = str_len(s);
12 for (i = 0;envi = environ[i];++i)
13 if ((!str_diffn(s,envi,slen)) && (envi[slen] == '='))
14 return envi + slen + 1;
15 return 0;
16}
17
18extern char *env_pick()
19{
20 return environ[0];
21}
22
23extern char *env_findeq(s)
24char *s;
25{
26 for (;*s;++s)
27 if (*s == '=')
28 return s;
29 return 0;
30}