On Thu, Oct 07, 2004 at 07:07:23PM +0200, Corinna Vinschen wrote: >On Oct 7 10:52, Christopher Faylor wrote: >> On Thu, Oct 07, 2004 at 10:20:53AM +0200, Corinna Vinschen wrote: >> >On Oct 6 21:53, Christopher Faylor wrote: >> >> Or, even better yet, Corinna could we force SYSTEMROOT to be used >> >> somehow but masked if someone removes it from the environment? >> > >> >Hmm, usually applications which suffer from a missing SYSTEMROOT are >> >spawned by a parent process which has explicitely created a new >> >environment block for the child and then calls execvp. So the new >> >child is already missing SYSTEMROOT on process startup. What about >> >always adding SYSTEMROOT to the windows env created in build_env, >> >if it's missing? >> >> That's what I was thinking. And then lying about its existence if >> someone queries the environment via getenv and SYSTEMROOT is "not >> supposed to be there". >> >> What an amazingly lame requirement... > >Why is that a requirement anyway? Why is it necessary to hide >$SYSTEMROOT? I don't see a reason for that?
I was talking about the need for SYSTEMROOT being lame. I was theorizing that some program might become confused if it did something like: 1) Wipe out everything from the environment 2) Check the environment 3) Hey! The environment isn't empty after I tried to empty it! ABORT!!! ABORT!!! ABORT!!! However, since cygwin is *already* trying to do the right thing with SYSTEMROOT, and already keeps other things in the environment even after someone says to nuke them, all that is required is a little extra caching of the SYSTEMROOT environment variable. That's how I was going to handle this. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/