summaryrefslogtreecommitdiff
path: root/libc/stdlib/getenv.c
blob: 588f696eeb7c8ac404f3e92afc0e1dea3fd59f2b (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
/* Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
 * This file is part of the Linux-8086 C library and is distributed
 * under the GNU Library General Public License.
 */
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <malloc.h>

char *getenv(const char *var)
{
    char **p;
    int len;

    len = strlen(var);

    if (!__environ)
	return NULL;

    for (p = __environ; *p; p++) {
	if (memcmp(var, *p, len) == 0 && (*p)[len] == '=')
	    return *p + len + 1;
    }
    return NULL;
}