|
|
1.1 ! root 1: /* ! 2: char id_getenv[] = "@(#)getenv_.c 1.1"; ! 3: * ! 4: * return environment variables ! 5: * ! 6: * calling sequence: ! 7: * character*20 evar ! 8: * call getenv (ENV_NAME, evar) ! 9: * where: ! 10: * ENV_NAME is the name of an environment variable ! 11: * evar is a character variable which will receive ! 12: * the current value of ENV_NAME, ! 13: * or all blanks if ENV_NAME is not defined ! 14: */ ! 15: ! 16: extern char **environ; ! 17: ! 18: getenv_(fname, value, flen, vlen) ! 19: char *value, *fname; ! 20: long int vlen, flen; ! 21: { ! 22: register char *ep, *fp; ! 23: register char **env = environ; ! 24: int i; ! 25: ! 26: while (ep = *env++) { ! 27: for (fp=fname, i=0; i <= flen; i++) { ! 28: if (i == flen || *fp == ' ') { ! 29: if (*ep++ == '=') { ! 30: b_char(ep, value, vlen); ! 31: return(0); ! 32: } ! 33: else break; ! 34: } ! 35: else if (*ep++ != *fp++) break; ! 36: } ! 37: } ! 38: b_char(" ", value, vlen); ! 39: return(0); ! 40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.