summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/environ.cc2
2 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 9eda1f779..66e982ba4 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * environ.cc (environ_init): Reinstantiate on-the-fly CYGWIN variable
+ test and call to parse_options if found.
+
2011-07-04 Christopher Faylor <me.cygwin2011@cgf.cx>
* fhandler.cc (fhandler_base::open_with_arch): Call close_on_exec last
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc
index d8c7a075c..a49510cae 100644
--- a/winsup/cygwin/environ.cc
+++ b/winsup/cygwin/environ.cc
@@ -793,6 +793,8 @@ environ_init (char **envp, int envc)
ucenv (newp, eq); /* uppercase env vars which need it */
if (*newp == 'T' && strncmp (newp, "TERM=", 5) == 0)
sawTERM = 1;
+ else if (*newp == 'C' && strncmp (newp, "CYGWIN=", 7) == 0)
+ parse_options (newp + 7);
if (*eq && conv_start_chars[(unsigned char) envp[i][0]])
posify (envp + i, *++eq ? eq : --eq, tmpbuf);
debug_printf ("%p: %s", envp[i], envp[i]);