There is code in src/port/win32env.c to update the environment within the msvcrt.dll runtime even when running in msvcr70.dll (visual C++ 2005). It updates that one, the local one *and* the system environment.
However, in case there is no msvcrt.dll linked into the process, it will abort at that stage and *not* update the system or local environment. This happens during my tests on Visual Studio 2008, and it causes the regression tests to fail (since they set environment variables for subprocesses - thus needing the system env update) The attached patch changes this to just ignore failure to find msvcr.dll. It usually doesn't happen, because we almost always link with third party libs that bring it in, but it can happen. Also, since we *never* check the return code from putenv anyway, returning an error code makes no sense... Given that we've had zero reports of this on previous versions, I'm not planning to backpatch this. Comments? -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/
win32env.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers