Your prototype is missing the return value. The putenv() API returns an int(10) value. Since this is missing, the results of calling this will be "unpredictable", which might be the cause of your woes.

There shouldn't be any need to run RMVENVVAR, putenv() will replace the previous value.


On 8/31/17 2:45 PM, Justin Taylor wrote:
I have a RPGLE program that uses putenv(). The same program is used with different inputs. With one particular set of inputs, I'm getting unexpected behavior. This is a batch-only job.

Code snippets (where ENV_NAME is a named constant, and sysCmd is a prototype for QCMDEXC):
Dcl-pr putEnv extProc('putenv') ;
envVar pointer value options(*string) ;
End-pr ;

putEnv(ENV_NAME + '=' + 'Success');

In every case but one, the environment variable contains 'Success'. In the problem case, the environment variable contains 'Success TOR' (pretty sure it's always the same).

Any suggestions?


This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].