Run-Time Function: Gets the value of a specified environment variable from the current environment.
Module: USE DFLIB
Syntax
Results:
The result is of type INTEGER(4). The result is the length of the string returned in value. Zero is returned if the given variable is not defined.
GETENVQQ searches the list of environment variables for an entry corresponding to varname. Environment variables define the environment in which a process executes. (For example, the LIB environment variable defines the default search path for libraries to be linked with a program.)
GETENVQQ uses the C runtime routine getenv and SETENVQQ uses the C runtime routine _putenv. From the C documentation:
Changes made outside the program by the console SET command, for example, SET MY_VAR=ABCDE, will be reflected by GETENVQQ.
GETENVQQ and SETENVQQ will not work properly with the Win32 APIs GetEnvironmentVariable and SetEnvironmentVariable.
Compatibility
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS DLL LIB
See Also: SETENVQQ, GETLASTERRORQQ
Example
! Program to demonstrate GETENVQQ and SETENVQQ
USE DFLIB
INTEGER(4) lenv, lval
CHARACTER(80) env, val, enval
WRITE (*,900) ' Enter environment variable name to create, &
modify, or delete: '
lenv = GETSTRQQ(env)
IF (lenv .EQ. 0) STOP
WRITE (*,900) ' Value of variable (ENTER to delete): '
lval = GETSTRQQ(val)
IF (lval .EQ. 0) val = ' '
enval = env(1:lenv) // '=' // val(1:lval)
IF (SETENVQQ(enval)) THEN
lval = GETENVQQ(env(1:lenv), val)
IF (lval .EQ. 0) THEN
WRITE (*,*) 'Can''t get environment variable'
ELSE IF (lval .GT. LEN(val)) THEN
WRITE (*,*) 'Buffer too small'
ELSE
WRITE (*,*) env(:lenv), ': ', val(:lval)
WRITE (*,*) 'Length: ', lval
END IF
ELSE
WRITE (*,*) 'Can''t set environment variable'
END IF
900 FORMAT (A, \)
END