/********************************************************************** * Copyright (c) Digital Equipment Corporation 1984, 1985, 1986. * * All Rights Reserved. * * Reference "/usr/src/COPYRIGHT" for applicable restrictions. * **********************************************************************/ /* * SCCSID: @(#)getenv_.c 3.0 4/22/86 char id_getenv[] = "(2.9BSD) getenv_.c 1.1"; * * return environment variables * * calling sequence: * character*20 evar * call getenv (ENV_NAME, evar) * where: * ENV_NAME is the name of an environment variable * evar is a character variable which will receive * the current value of ENV_NAME, * or all blanks if ENV_NAME is not defined */ #include "../libI77/fiodefs.h" extern char **environ; ftnint getenv_(fname, value, flen, vlen) char *value, *fname; ftnlen vlen, flen; { register char *ep, *fp; register char **env = environ; int i; while (ep = *env++) { for (fp=fname, i=0; i <= flen; i++) { if (i == flen || *fp == ' ') { if (*ep++ == '=') { b_char(ep, value, vlen); return((ftnint) 0); } else break; } else if (*ep++ != *fp++) break; } } b_char(" ", value, vlen); return((ftnint) 0); }