[Python-Dev] adding Py{String|Unicode}_{Lower|Upper} and fixing CreateProcess in _subprocess.pyd and PyWin32

Tim Peters tim.peters at gmail.com
Thu Oct 28 06:31:52 CEST 2004


[Trent Mick]
> There is a subtlety in CreateProcess in the Win32 API in that if one
> specifies an environment (via the lpEnvironment argument), the
> environment strings (A) must be sorted alphabetically and (B) that sort
> must be case-insensitive.

Well, the docs are lying about Win95 (it doesn't sort envar blocks). 
On NT+, the sort must also be in "Unicode order, without regard to
locale" -- WTF that means:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/changing_environment_variables.asp

The best discussion I found:

http://www.mail-archive.com/cygwin@cygwin.com/msg15239.html

That claims NT+ uses RTLCompareUnicodeString to search for envars (and
that function has a case-insensitive option).


More information about the Python-Dev mailing list