|
|
1.1 ! root 1: #include "f2c.h" ! 2: ! 3: /* ! 4: * getenv - f77 subroutine to return environment variables ! 5: * ! 6: * called by: ! 7: * call getenv (ENV_NAME, char_var) ! 8: * where: ! 9: * ENV_NAME is the name of an environment variable ! 10: * char_var is a character variable which will receive ! 11: * the current value of ENV_NAME, or all blanks ! 12: * if ENV_NAME is not defined ! 13: */ ! 14: ! 15: #ifdef KR_headers ! 16: VOID getenv_(fname, value, flen, vlen) char *value, *fname; ftnlen vlen, flen; ! 17: #else ! 18: void getenv_(char *fname, char *value, ftnlen flen, ftnlen vlen) ! 19: #endif ! 20: { ! 21: extern char **environ; ! 22: register char *ep, *fp, *flast; ! 23: register char **env = environ; ! 24: ! 25: flast = fname + flen; ! 26: for(fp = fname ; fp < flast ; ++fp) ! 27: if(*fp == ' ') ! 28: { ! 29: flast = fp; ! 30: break; ! 31: } ! 32: ! 33: while (ep = *env++) ! 34: { ! 35: for(fp = fname; fp<flast ; ) ! 36: if(*fp++ != *ep++) ! 37: goto endloop; ! 38: ! 39: if(*ep++ == '=') { /* copy right hand side */ ! 40: while( *ep && --vlen>=0 ) ! 41: *value++ = *ep++; ! 42: ! 43: goto blank; ! 44: } ! 45: endloop: ; ! 46: } ! 47: ! 48: blank: ! 49: while( --vlen >= 0 ) ! 50: *value++ = ' '; ! 51: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.