diff options
Diffstat (limited to 'src/env/getenv.c')
-rw-r--r-- | src/env/getenv.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/env/getenv.c b/src/env/getenv.c new file mode 100644 index 0000000..a90d39c --- /dev/null +++ b/src/env/getenv.c @@ -0,0 +1,13 @@ +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +char *getenv(const char *name) +{ + size_t l = __strchrnul(name, '=') - name; + if (l && !name[l] && __environ) + for (char **e = __environ; *e; e++) + if (!strncmp(name, *e, l) && l[*e] == '=') + return *e + l+1; + return 0; +} |