This is the mail archive of the cygwin@sourceware.cygnus.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]

Re: Sorting environment


Jon Thackray wrote:
> 
> Jim Balter writes:
>  > Jon Thackray wrote:
>  > >
>  > > I belive it to be part of the spec of CreateProcess that the
>  > > environment it is passed should be sorted.
>  >
>  > The CreateProcess documentation does not require this.
>  > In fact, since the environment block can be in Unicode,
>  > the sort order isn't even defined.
> 
> Quoting from the Oct 96 MSDN docs for CreateProcess, near the end of the
> "Remarks" section:
> 
>   If the current directory on drive C is \MSVC\MFC, there is an
>   environment variable called =C: whose value is C:\MSVC\MFC. As noted in
>   the previous description of lpEnvironment, such current directory
>   information for a system's drives does not automatically propagate to a
>   new process when the CreateProcess function's lpEnvironment parameter is
>   non-NULL. An application must manually pass the current directory
>   information to the new process. To do so, the application must
>   explicitly create the =X environment variable strings, get them into
>   alphabetical order (because Windows NT and Windows 95 use a sorted
>   environment), and then put them into the environment block specified by
>   lpEnvironment. Typically, they will go at the front of the environment
>   block, due to the previously mentioned environment block sorting.

This parenthetical comment about what these systems "use" is not
part of the win32 specification.  If there really is Windows NT
and Windows 95 software that depends upon sorting, then that is a
bug.  Not that that has any bearing on the real world, where
practical software must accomodate MS's bugs.

--
<J Q B>
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


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