From 9119d13db870473f40d7678a980009e12a0d2379 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 2 Dec 2014 10:16:03 +0000 Subject: * autoload.cc (CreateEnvironmentBlock): Import. (DestroyEnvironmentBlock): Import. * environ.cc (env_compare): New static bsearch comparison function. (build_env): Add parameter taking a user token. If token is non-NULL, fetch user's default Windows environment and merge it into the resulting environment. Explain what we do in preceeding comment. * environ,h (build_env): Align prototype to above change. * external.cc (create_winenv): Call build_env with NULL token. * spawn.cc (child_info_spawn::worker): When spawning new process under another user account, call build_env with new token to allow merging user's default Windows environment. * winlean.h (_USERENV_): Define to override dllimport. --- winsup/cygwin/environ.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/environ.h') diff --git a/winsup/cygwin/environ.h b/winsup/cygwin/environ.h index b2d65c8bd..5048fcd2f 100644 --- a/winsup/cygwin/environ.h +++ b/winsup/cygwin/environ.h @@ -1,6 +1,6 @@ /* environ.h: Declarations for environ manipulation - Copyright 2000, 2001, 2002, 2003, 2005, 2006, 2008, 2013 Red Hat, Inc. + Copyright 2000, 2001, 2002, 2003, 2005, 2006, 2008, 2013, 2014 Red Hat, Inc. This file is part of Cygwin. @@ -45,6 +45,6 @@ extern "C" char **__cygwin_environ, ***main_environ; extern "C" char __stdcall **cur_environ (); #endif char ** __reg3 build_env (const char * const *envp, PWCHAR &envblock, - int &envc, bool need_envblock); + int &envc, bool need_envblock, HANDLE new_token); #define ENV_CVT -1 -- cgit v1.2.3