]>
Commit | Line | Data |
---|---|---|
320054e8 DG |
1 | #include <stdlib.h> |
2 | #include <string.h> | |
3 | #include <unistd.h> | |
4 | ||
5 | char *getenv(const char *name) | |
6 | { | |
9efc2f42 DG |
7 | #ifdef __wasilibc_unmodified_upstream // Lazy environment variable init. |
8 | #else | |
9 | // This specialized header is included within the function body to arranges for | |
10 | // the environment variables to be lazily initialized. It redefined `__environ`, | |
11 | // so don't remove or reorder it with respect to other code. | |
12 | #include "wasi/libc-environ-compat.h" | |
13 | #endif | |
320054e8 DG |
14 | size_t l = __strchrnul(name, '=') - name; |
15 | if (l && !name[l] && __environ) | |
16 | for (char **e = __environ; *e; e++) | |
17 | if (!strncmp(name, *e, l) && l[*e] == '=') | |
18 | return *e + l+1; | |
19 | return 0; | |
20 | } |