From: jont AT harlequin DOT co DOT uk (Jon Thackray) Subject: Re: Sorting environment 10 Apr 1997 12:06:29 -0700 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <20894.9704101126.cygnus.gnu-win32@dedekind.cam.harlequin.co.uk> References: <24837 DOT 9704091211 AT dedekind DOT cam DOT harlequin DOT co DOT uk> <334BEE15 DOT 170D AT netcom DOT com> Original-To: Jim Balter Original-Cc: Jon Thackray , gnu-win32 AT cygnus DOT com In-Reply-To: <334BEE15.170D@netcom.com> Original-Sender: owner-gnu-win32 AT cygnus DOT com 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. - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".