This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: environment setup problem with "env -"


Pierre.Humblet:

It's a "one thing led to another" situation.
1) Windows programs expect those variables.
2) They are user dependent and must be changed following a setuid.
3) Due to a Windows quirk, some of the computation must be done *before*
exec'ing the program following a setuid. That eventually led to
generating the stuff on the fly and storing it in the cygheap.
4) If they don't exist in the current environment, they are only
produced when exec'ing potential Windows programs (see mount -X)


Given 1) and the effort made in 4), we can argue forever whether it's
a bug. An alternative would be to only regenerate these variables
following a setuid. I vaguely recall doing that at some point.

When they are added to the env, wouldn't it be better to just have cygwin escape the spaces or convert the path to 8.3 format (along the same lines that cygpath.exe -d operates)? I know that this isn't the most elegant or aesthetically pleasing solution, but it seems like a reasonable compromise given your 4 statements above.


Cheers,
Nicholas


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]