diff options
Diffstat (limited to 'winsup/cygwin/environ.cc')
-rw-r--r-- | winsup/cygwin/environ.cc | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index 23d0993a7..28bfe3959 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -729,16 +729,12 @@ environ_init (char **envp, int envc) if (efault.faulted ()) api_fatal ("internal error reading the windows environment - too many environment variables?"); - static int initted; - if (!initted) - { - for (int i = 0; conv_envvars[i].name != NULL; i++) - { - conv_start_chars[(int) cyg_tolower (conv_envvars[i].name[0])] = 1; - conv_start_chars[(int) cyg_toupper (conv_envvars[i].name[0])] = 1; - } - initted = 1; - } + if (!conv_start_chars[0]) + for (int i = 0; conv_envvars[i].name != NULL; i++) + { + conv_start_chars[(int) cyg_tolower (conv_envvars[i].name[0])] = 1; + conv_start_chars[(int) cyg_toupper (conv_envvars[i].name[0])] = 1; + } got_something_from_registry = regopt ("default"); if (myself->progname[0]) @@ -814,7 +810,6 @@ environ_init (char **envp, int envc) out: __cygwin_environ = envp; - update_envptrs (); if (envp_passed_in) { p = getenv ("CYGWIN"); |