* external.cc (sync_winenv): Rename from "setup_winenv". Use same mechanism as
spawn to determine environment variables which should be converted back to windows form. (cygwin_internal): Reflect setup_winenv -> sync_winenv name change. * include/sys/cygwin.h: Ditto.
This commit is contained in:
parent
2bf61bfe9b
commit
9a08fd5a50
|
@ -1,3 +1,11 @@
|
||||||
|
2006-02-10 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
|
* external.cc (sync_winenv): Rename from "setup_winenv". Use same
|
||||||
|
mechanism as spawn to determine environment variables which should be
|
||||||
|
converted back to windows form.
|
||||||
|
(cygwin_internal): Reflect setup_winenv -> sync_winenv name change.
|
||||||
|
* include/sys/cygwin.h: Ditto.
|
||||||
|
|
||||||
2006-02-09 Corinna Vinschen <corinna@vinschen.de>
|
2006-02-09 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Only set
|
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Only set
|
||||||
|
@ -6,21 +14,21 @@
|
||||||
|
|
||||||
2006-02-07 Corinna Vinschen <corinna@vinschen.de>
|
2006-02-07 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* dtable.cc (handle_to_fn): Accomodate new argument order in call to
|
* dtable.cc (handle_to_fn): Accommodate new argument order in call to
|
||||||
sys_wcstombs.
|
sys_wcstombs.
|
||||||
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Call sys_wcstombs
|
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Call sys_wcstombs
|
||||||
instead of just wcstombs to accomodate OEM codepages.
|
instead of just wcstombs to accommodate OEM codepages.
|
||||||
* miscfuncs.cc (sys_wcstombs): Split len argument in source and target
|
* miscfuncs.cc (sys_wcstombs): Split len argument in source and target
|
||||||
length. Always 0-terminate result in target string.
|
length. Always 0-terminate result in target string.
|
||||||
* security.cc (lsa2wchar): Remove unused function.
|
* security.cc (lsa2wchar): Remove unused function.
|
||||||
(lsa2str): Ditto.
|
(lsa2str): Ditto.
|
||||||
(get_lsa_srv_inf): Ditto.
|
(get_lsa_srv_inf): Ditto.
|
||||||
(get_logon_server): Accomodate new argument order in call to
|
(get_logon_server): Accommodate new argument order in call to
|
||||||
sys_wcstombs.
|
sys_wcstombs.
|
||||||
(get_user_groups): Ditto.
|
(get_user_groups): Ditto.
|
||||||
(get_user_local_groups): Ditto.
|
(get_user_local_groups): Ditto.
|
||||||
(get_priv_list): Call sys_wcstombs directly instead of lsa2str.
|
(get_priv_list): Call sys_wcstombs directly instead of lsa2str.
|
||||||
* uinfo.cc (cygheap_user::ontherange): Accomodate new argument order
|
* uinfo.cc (cygheap_user::ontherange): Accommodate new argument order
|
||||||
in call to sys_wcstombs.
|
in call to sys_wcstombs.
|
||||||
* winsup.h (sys_wcstombs): Change prototype to match new argument order.
|
* winsup.h (sys_wcstombs): Change prototype to match new argument order.
|
||||||
|
|
||||||
|
@ -75,19 +83,19 @@
|
||||||
2006-02-05 Corinna Vinschen <corinna@vinschen.de>
|
2006-02-05 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* environ.cc (struct parse_thing): Add transparent_exe option.
|
* environ.cc (struct parse_thing): Add transparent_exe option.
|
||||||
* fhandler_disk_file.cc (fhandler_disk_file::link): Accomodate
|
* fhandler_disk_file.cc (fhandler_disk_file::link): Accommodate
|
||||||
transparent_exe option. Add .exe suffix for links to executable files,
|
transparent_exe option. Add .exe suffix for links to executable files,
|
||||||
if transparent_exe is set.
|
if transparent_exe is set.
|
||||||
* fhandler_process.cc (fhandler_process::fill_filebuf): Remove .exe
|
* fhandler_process.cc (fhandler_process::fill_filebuf): Remove .exe
|
||||||
suffix if transparent_exe option is set.
|
suffix if transparent_exe option is set.
|
||||||
* path.cc (symlink_worker): Accomodate transparent_exe option.
|
* path.cc (symlink_worker): Accommodate transparent_exe option.
|
||||||
(realpath): Don't tack on .exe suffix if transparent_exe is set.
|
(realpath): Don't tack on .exe suffix if transparent_exe is set.
|
||||||
* syscalls.cc (transparent_exe): New global variable.
|
* syscalls.cc (transparent_exe): New global variable.
|
||||||
(unlink): Accomodate transparent_exe option.
|
(unlink): Accommodate transparent_exe option.
|
||||||
(open): Ditto.
|
(open): Ditto.
|
||||||
(link): Ditto.
|
(link): Ditto.
|
||||||
(rename): Ditto. Maybe add .exe suffix when renaming executable files.
|
(rename): Ditto. Maybe add .exe suffix when renaming executable files.
|
||||||
(pathconf): Accomodate transparent_exe option.
|
(pathconf): Accommodate transparent_exe option.
|
||||||
* winsup.h: Declare transparent_exe.
|
* winsup.h: Declare transparent_exe.
|
||||||
|
|
||||||
2006-02-05 Christopher Faylor <cgf@timesys.com>
|
2006-02-05 Christopher Faylor <cgf@timesys.com>
|
||||||
|
@ -284,7 +292,7 @@
|
||||||
and readdir_9x.
|
and readdir_9x.
|
||||||
* fhandler_disk_file.cc (path_conv::hasgood_inode): New method to
|
* fhandler_disk_file.cc (path_conv::hasgood_inode): New method to
|
||||||
evaluate if a filesystem has reliable inode numbers.
|
evaluate if a filesystem has reliable inode numbers.
|
||||||
(fhandler_base::fstat_by_handle): Accomodate structure member name
|
(fhandler_base::fstat_by_handle): Accommodate structure member name
|
||||||
change from IndexNumber to FileId.
|
change from IndexNumber to FileId.
|
||||||
(fhandler_base::fstat_helper): Call hasgood_inode here.
|
(fhandler_base::fstat_helper): Call hasgood_inode here.
|
||||||
(fhandler_disk_file::opendir): Call fhaccess only for real files.
|
(fhandler_disk_file::opendir): Call fhaccess only for real files.
|
||||||
|
@ -299,7 +307,7 @@
|
||||||
(fhandler_disk_file::readdir): Move old functionality to readdir_9x.
|
(fhandler_disk_file::readdir): Move old functionality to readdir_9x.
|
||||||
Call readdir_9x when on 9x/Me. Implement NT specific readdir here.
|
Call readdir_9x when on 9x/Me. Implement NT specific readdir here.
|
||||||
(fhandler_disk_file::readdir_9x): Move 9x specific readdir here.
|
(fhandler_disk_file::readdir_9x): Move 9x specific readdir here.
|
||||||
(fhandler_disk_file::seekdir): Accomodate new NT readdir method.
|
(fhandler_disk_file::seekdir): Accommodate new NT readdir method.
|
||||||
(fhandler_disk_file::closedir): Ditto.
|
(fhandler_disk_file::closedir): Ditto.
|
||||||
(fhandler_cygdrive::fstat): Set d_ino to namehash. Add comment.
|
(fhandler_cygdrive::fstat): Set d_ino to namehash. Add comment.
|
||||||
(fhandler_cygdrive::opendir): Call get_namehash to prepare later
|
(fhandler_cygdrive::opendir): Call get_namehash to prepare later
|
||||||
|
@ -320,7 +328,7 @@
|
||||||
* wincap.cc: Implement above element throughout.
|
* wincap.cc: Implement above element throughout.
|
||||||
* winsup.h (readdir_get_ino): Add declaration.
|
* winsup.h (readdir_get_ino): Add declaration.
|
||||||
* include/sys/dirent.h (struct dirent): Slightly rename structure
|
* include/sys/dirent.h (struct dirent): Slightly rename structure
|
||||||
members to accomodate changes.
|
members to accommodate changes.
|
||||||
Remove __USE_EXPENSIVE_CYGWIN_D_INO handling and declaration of
|
Remove __USE_EXPENSIVE_CYGWIN_D_INO handling and declaration of
|
||||||
__opendir_with_d_ino.
|
__opendir_with_d_ino.
|
||||||
|
|
||||||
|
|
|
@ -137,21 +137,33 @@ check_ntsec (const char *filename)
|
||||||
|
|
||||||
/* Copy cygwin environment variables to the Windows environment. */
|
/* Copy cygwin environment variables to the Windows environment. */
|
||||||
static void
|
static void
|
||||||
setup_winenv ()
|
sync_winenv ()
|
||||||
{
|
{
|
||||||
char **envp = __cygwin_environ;
|
int unused_envc;
|
||||||
char *var, *val;
|
char *envblock = NULL;
|
||||||
char dummy;
|
char **envp = build_env (__cygwin_environ, envblock, unused_envc, false);
|
||||||
|
char *p = envblock;
|
||||||
|
|
||||||
while (envp && *envp)
|
if (envp)
|
||||||
{
|
{
|
||||||
var = strdup (*envp++);
|
for (char **e = envp; *e; e++)
|
||||||
val = strchr (var, '=');
|
cfree (*e);
|
||||||
*val++ = '\0';
|
cfree (envp);
|
||||||
if (!GetEnvironmentVariable (var, &dummy, 1))
|
|
||||||
SetEnvironmentVariable (var, val);
|
|
||||||
free (var);
|
|
||||||
}
|
}
|
||||||
|
if (!p)
|
||||||
|
return;
|
||||||
|
while (*p)
|
||||||
|
{
|
||||||
|
char *eq = strchr (p, '=');
|
||||||
|
if (eq)
|
||||||
|
{
|
||||||
|
*eq = '\0';
|
||||||
|
SetEnvironmentVariable (p, ++eq);
|
||||||
|
p = eq;
|
||||||
|
}
|
||||||
|
p = strchr (p, '\0') + 1;
|
||||||
|
}
|
||||||
|
free (envblock);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" unsigned long
|
extern "C" unsigned long
|
||||||
|
@ -333,8 +345,8 @@ cygwin_internal (cygwin_getinfo_types t, ...)
|
||||||
error_start_init (va_arg (arg, const char *));
|
error_start_init (va_arg (arg, const char *));
|
||||||
try_to_debug ();
|
try_to_debug ();
|
||||||
break;
|
break;
|
||||||
case CW_SETUP_WINENV:
|
case CW_SYNC_WINENV:
|
||||||
setup_winenv ();
|
sync_winenv ();
|
||||||
return 0;
|
return 0;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -86,7 +86,7 @@ typedef enum
|
||||||
CW_ARGV,
|
CW_ARGV,
|
||||||
CW_ENVP,
|
CW_ENVP,
|
||||||
CW_DEBUG_SELF,
|
CW_DEBUG_SELF,
|
||||||
CW_SETUP_WINENV
|
CW_SYNC_WINENV
|
||||||
} cygwin_getinfo_types;
|
} cygwin_getinfo_types;
|
||||||
|
|
||||||
#define CW_NEXTPID 0x80000000 /* or with pid to get next one */
|
#define CW_NEXTPID 0x80000000 /* or with pid to get next one */
|
||||||
|
|
Loading…
Reference in New Issue