ack/lang/cem/libcc.ansi/stdlib/getenv.c

28 lines
534 B
C
Raw Normal View History

1989-05-16 13:13:53 +00:00
/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
1994-06-24 14:02:31 +00:00
/* $Id$ */
1989-05-16 13:13:53 +00:00
#include <stdlib.h>
#include <unistd.h>
1989-05-16 13:13:53 +00:00
char *
getenv(const char *name)
{
register char **v = environ;
1989-12-18 15:14:14 +00:00
register const char *p, *q;
1989-05-16 13:13:53 +00:00
1989-12-18 15:14:14 +00:00
if (v == NULL || name == NULL)
1989-05-16 13:13:53 +00:00
return (char *)NULL;
1989-12-18 15:14:14 +00:00
while ((p = *v++) != NULL) {
1989-05-16 13:13:53 +00:00
q = name;
while (*q && (*q == *p++))
q++;
1989-05-16 13:13:53 +00:00
if (*q || (*p != '='))
continue;
1989-12-18 15:14:14 +00:00
return (char *)p + 1;
1989-05-16 13:13:53 +00:00
}
1989-12-18 15:14:14 +00:00
return (char *)NULL;
1989-05-16 13:13:53 +00:00
}