OpenExtensions for z/VM "Q"s and "A"s
Question: Under many UNIX systems we access the environment variable table via a parameter (envp) which is passed to a main program on the initial call. Under OpenExtensions this seems not to exist. How do I find the value of all environment variables which have been set in the shell prior to calling a program when I don't know the names of these variables? If I did, then I could obviously use getenv().
Response: There is no third parameter (envp) to main() in OpenExtensions. Its use is not portable. A more portable method is using the external environ array. So if you have code like the following:
main(int argc, char **argv, char **envp)it can be changed to:
extern char **environ; #define envp environ main(int argc, char **argv)
For more questions and answers, go to our archive of questions and answers.