There are 4 files in this fix, unZIP them to either a diskette or directory. In order to use these files, you will need to either copy them to the ROOT directory of the BOOT drive, and then restart your system, or use the Install diskette and ESC to the A: prompt and replace these files in your OS2\DLL directory. The changes will then take effect when you reboot your system. The files in the ZIP files are - REXX.TXT (this file) REXX.DLL REXXAPI.DLL REXXINIT.DLL REXXUTIL.DLL These contain the fixes for APARs PJ03945 and PJ04178, plus the following REXXUTIL fix: "The SysIni function doesn't release allocated storage when the 'ALL:' parameter is used." APAR: PJ04178 Title: VALUE FUNCTION RETURNS INCORRECT VALUE Problem Description The following REXX program produces incorrect output : /* */ Stem. = '' Key = 'AAA' KVal = 'BBB' call Test Stem.!AAA = '' call Test exit Test: say say 'This should be null: "'Stem.!AAA'"' Old = value(('Stem.!'Key, KVal) say 'This should be null: "'Old'"' say 'This should be BBB: "'Stem.!AAA'"' return ----------------------------------------------- Initializing Stem. = '' should initialize Stem.!AAA to ''. The first time Test is called, in correct output is produced. ******************** APAR: PJ03945 Title: REXX: VALUE(.."OS2ENVIRONMENT"..) TO SET ENV HOSES PIB INFO. Problem Description "RexxStart()" Bug I use RexxStart() from a "C" program to call a REXX procedure. I have recently diagnosed a problem where if I set an environment variable in this rexx procedure, the called programs environment is corrupted (as a "C" "getenv()" call fails to retrieve a variable that is known to exist. Depending on the change to the environment, I sometimes get an invalid value returned in the "pib_pchcmd" field from a "DosGetInfoBlocks()" call. This invalid value is the tail part of the new variable value. Thinking that the bug may only occur when expanding the size of an environment variable or the environment, I tried to shorten the path variable, this removed the problem with "pib_pchcmd" being corrupted but still caused the "getenv()" to fail. Note that the "getenv()" does not always fail, it obviously depends on the change.