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

29 lines
565 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".
*/
/* $Header$ */
#include <stdlib.h>
1989-12-18 15:14:14 +00:00
extern const char **environ;
1989-05-16 13:13:53 +00:00
char *
getenv(const char *name)
{
1989-12-18 15:14:14 +00:00
register const char **v = environ;
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++))
/* EMPTY */ ;
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
}