xref: /third_party/musl/src/env/getenv.c (revision 570af302)
1#include <stdlib.h>
2#include <string.h>
3#include <unistd.h>
4
5char *getenv(const char *name)
6{
7	if (name == NULL || __environ == NULL)
8		return 0;
9	size_t i, l = 0;
10	const char *np;
11	char **p, *ep;
12	for (; *(name + l) && *(name + l) != '='; ++l);
13	for (p = __environ; (ep = *p) != NULL; ++p) {
14		for (np = name, i = l; i && *ep; i--) {
15			if (*ep++ != *np++) {
16				break;
17			}
18		}
19		if (i == 0 && *ep++ == '=') {
20			return (ep);
21		}
22	}
23	return 0;
24}
25