[comp.os.minix] getenv

tholm@uvicctr.UUCP (Terrence W. Holm) (08/26/88)

EFTH MINIX report #32  - August 1988 -  getenv(3)


There has been a different implementation of getenv(3)
for each release of MINIX, as well as a couple variations
posted to comp.os.minix, none of them has worked for me.
Thus, I hereby distribute my coding of getenv(3).



----------------------------------------------------------
echo x - getenv.3
gres '^X' '' > getenv.3 << '/'
XSUBROUTINES
X    getenv(3)     	- get an environment entry
X
XINVOCATION
X    char *getenv( name )
X      char *name;
X
XEXPLANATION
X    If the entry "name=value" exists in the user environment, then
X    a pointer to "value" is returned. Otherwise NULL is returned.
X
XREFERENCES
X    execve(2), putenv(3), environ(4)
/
echo x - getenv.c
gres '^X' '' > getenv.c << '/'
X/*  getenv(3)
X *
X *  Author: Terrence W. Holm          Aug. 1988
X */
X
X#define  NULL   (char *) 0
X
Xextern char **environ;
X
X
Xchar *getenv( name )
X  char *name;
X  {
X  char **v;
X  register char *n;
X  register char *p;
X
X  if ( environ == (char **) NULL  ||  name == NULL )
X    return(NULL);
X
X  for ( v = environ;  *v != NULL;  ++v )
X    {
X    n = name;
X    p = *v;
X
X    while ( *n == *p  &&  *n != '\0' )
X	++n, ++p;
X
X    if ( *n == '\0'  &&  *p == '=' )
X	return( p + 1 );
X    }
X
X  return(NULL);
X  }
/
----------------------------------------------------------

		Edwin L. Froese
		  uw-beaver!ubc-cs!mprg!handel!froese

		Terrence W. Holm
		  uw-beaver!uvicctr!tholm