public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Enviroment always uppercased; Help me, please
@ 2002-02-27  9:59 Markus K. E. Kommant
  2002-02-27 10:04 ` Christopher Faylor
  0 siblings, 1 reply; 15+ messages in thread
From: Markus K. E. Kommant @ 2002-02-27  9:59 UTC (permalink / raw)
  To: cygwin

Seems to be a cygwin "feature" that the environment will be uppercased, when
called by a none cygwin program.

When puting a variable "gar=1" into the environment and call a program
compiled with gcc and cygwin, the result, when printing the environment,
will be
GAR=1

ups, gar != GAR, especially in a POSIX environment!

When compiling the program with MS Developer Studio C++ the printed result
will be
gar=1
and that's okay.

Is there a trick to switch to a "POSIX" mode in cygwin and leave the case of
the environment unchanged?


parameter.c:
#include <stdlib.h>
#include <stdio.h>

int main ( int argc, char **argv, char **envp)
{
   int i;
   char **wp;

   printf("Environment:\n");

   if (envp != NULL)
   	for (wp = envp; *wp != NULL; wp++)
                        printf("%s\n", *wp);


   printf("Parameters %d\n", argc);

   for (i=0;i<argc;i++)
   {
      printf("Parameter %d (len=%d) >>%s<<\n", i+1, strlen(argv[i]),
argv[i]);
   }

   return argc;
}

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
  2002-02-27  9:59 Enviroment always uppercased; Help me, please Markus K. E. Kommant
@ 2002-02-27 10:04 ` Christopher Faylor
  0 siblings, 0 replies; 15+ messages in thread
From: Christopher Faylor @ 2002-02-27 10:04 UTC (permalink / raw)
  To: cygwin

On Wed, Feb 27, 2002 at 06:46:57PM +0100, Markus K. E. Kommant wrote:
>Seems to be a cygwin "feature" that the environment will be uppercased, when
>called by a none cygwin program.

"Correct".

>Is there a trick to switch to a "POSIX" mode in cygwin and leave the case of
>the environment unchanged?

Don't start the program from a non cygwin program.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
  2002-03-01  9:36 Markus K. E. Kommant
@ 2002-03-01 19:01 ` Christopher Faylor
  0 siblings, 0 replies; 15+ messages in thread
From: Christopher Faylor @ 2002-03-01 19:01 UTC (permalink / raw)
  To: cygwin

On Fri, Mar 01, 2002 at 06:36:13PM +0100, Markus K. E. Kommant wrote:
>At the moment "cygwin no thanx if I see this errors", because
>>(..) We're only using cygwin to prototype some stuff, not to make any
>>viable product as it just isn't stable/reliable/secure enough unfortunately
>(...)
>
>and slow and not bug free and there is no real support available.... no
>thanx

I'll be happy to put you in touch with someone who can offer you
professional $upport if you want.

In the meantime, you can expect the kind of support that you get from
any mailing list and this one is actually pretty good.

>/usr/local/cygwin-1.3.10-1/winsup/cygwin $make
>g++ -c -gstabs+ -O2 -MMD -fbuiltin ... cygheap.cc
>In file included from cygheap.cc:17:
>fhandler.h: In method `select_stuff::select_stuff()':
>fhandler.h:1086: implicit declaration of function `int memset(...)'
>In file included from cygheap.cc:18:
>path.h: In method `bool path_conv::exists() const':
>path.h:89: `INVALID_FILE_ATTRIBUTES' undeclared (first use this function)
>path.h:89: (Each undeclared identifier is reported only once
>path.h:89: for each function it appears in.)
>path.h:89: warning: control reaches end of non-void function
>`path_conv::exists(
>) const'
>make: *** [cygheap.o] Error 1

http://sources.redhat.com/ml/cygwin/2002-02/msg00952.html

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Enviroment always uppercased; Help me, please
@ 2002-03-01  9:36 Markus K. E. Kommant
  2002-03-01 19:01 ` Christopher Faylor
  0 siblings, 1 reply; 15+ messages in thread
From: Markus K. E. Kommant @ 2002-03-01  9:36 UTC (permalink / raw)
  To: cygwin

Was an idea for a big bug solution. 
"No thanx" is the worst solution ever...

And to fix it in cygwin1.dll itself... 

At the moment "cygwin no thanx if I see this errors", because
>(..) We're only using cygwin to prototype some stuff, not to make any
>viable product as it just isn't stable/reliable/secure enough unfortunately
(...)

and slow and not bug free and there is no real support available.... no
thanx

/usr/local/cygwin-1.3.10-1/winsup/cygwin $make
g++ -c -gstabs+ -O2 -MMD -fbuiltin ... cygheap.cc
In file included from cygheap.cc:17:
fhandler.h: In method `select_stuff::select_stuff()':
fhandler.h:1086: implicit declaration of function `int memset(...)'
In file included from cygheap.cc:18:
path.h: In method `bool path_conv::exists() const':
path.h:89: `INVALID_FILE_ATTRIBUTES' undeclared (first use this function)
path.h:89: (Each undeclared identifier is reported only once
path.h:89: for each function it appears in.)
path.h:89: warning: control reaches end of non-void function
`path_conv::exists(
) const'
make: *** [cygheap.o] Error 1


> -----Original Message-----
> From: Christopher Faylor [mailto:cgf@redhat.com]
> Sent: Friday, March 01, 2002 2:39 PM
> To: cygwin@cygwin.com
> Subject: Re: Enviroment always uppercased; Help me, please
> 
> 
> On Fri, Mar 01, 2002 at 02:06:06PM +0100, Markus K. E. Kommant wrote:
> >Idea:
> >
> >It would be better to support an evironment variable 
> CYGWIN_ENV_UPPERCASE=0,
> >1, 2 or a list "var1 var2 var3".
> >The list could be, to work correctly in most cases (I used 
> in my pdksh port)
> >"SHELL", "EXECSHELL", "PATH", "HOME", "INCLUDE", "LIB", "HOMEPATH",
> >"PATHEXT", "TMP", "TMPDIR", "TEMP", "WINDIR", "SYSTEMDRIVE", 
> "COMSPEC",
> >"HOMEDRIVE", "HOMESHARE", "COMPUTERNAME", "SYSTEMROOT", 
> "LD_LIBRARY_PATH",
> >NULL,
> >
> >CYGWIN_ENV_UPPERCASE=1 or not set = the current situation
> >CYGWIN_ENV_UPPERCASE=0, do not change anything
> >CYGWIN_ENV_UPPERCASE=2, use default uppercase list (see above)
> >CYGWIN_ENV_UPPERCASE="var1 var2 var3 var4" uppercase only 
> this variables.
> 
> No thanks.
> 
> cgf
> 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
  2002-03-01  5:06 Markus K. E. Kommant
@ 2002-03-01  5:39 ` Christopher Faylor
  0 siblings, 0 replies; 15+ messages in thread
From: Christopher Faylor @ 2002-03-01  5:39 UTC (permalink / raw)
  To: cygwin

On Fri, Mar 01, 2002 at 02:06:06PM +0100, Markus K. E. Kommant wrote:
>Idea:
>
>It would be better to support an evironment variable CYGWIN_ENV_UPPERCASE=0,
>1, 2 or a list "var1 var2 var3".
>The list could be, to work correctly in most cases (I used in my pdksh port)
>"SHELL", "EXECSHELL", "PATH", "HOME", "INCLUDE", "LIB", "HOMEPATH",
>"PATHEXT", "TMP", "TMPDIR", "TEMP", "WINDIR", "SYSTEMDRIVE", "COMSPEC",
>"HOMEDRIVE", "HOMESHARE", "COMPUTERNAME", "SYSTEMROOT", "LD_LIBRARY_PATH",
>NULL,
>
>CYGWIN_ENV_UPPERCASE=1 or not set = the current situation
>CYGWIN_ENV_UPPERCASE=0, do not change anything
>CYGWIN_ENV_UPPERCASE=2, use default uppercase list (see above)
>CYGWIN_ENV_UPPERCASE="var1 var2 var3 var4" uppercase only this variables.

No thanks.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Enviroment always uppercased; Help me, please
@ 2002-03-01  5:06 Markus K. E. Kommant
  2002-03-01  5:39 ` Christopher Faylor
  0 siblings, 1 reply; 15+ messages in thread
From: Markus K. E. Kommant @ 2002-03-01  5:06 UTC (permalink / raw)
  To: cygwin

Idea:

It would be better to support an evironment variable CYGWIN_ENV_UPPERCASE=0,
1, 2 or a list "var1 var2 var3".
The list could be, to work correctly in most cases (I used in my pdksh port)
"SHELL", "EXECSHELL", "PATH", "HOME", "INCLUDE", "LIB", "HOMEPATH",
"PATHEXT", "TMP", "TMPDIR", "TEMP", "WINDIR", "SYSTEMDRIVE", "COMSPEC",
"HOMEDRIVE", "HOMESHARE", "COMPUTERNAME", "SYSTEMROOT", "LD_LIBRARY_PATH",
NULL,

CYGWIN_ENV_UPPERCASE=1 or not set = the current situation
CYGWIN_ENV_UPPERCASE=0, do not change anything
CYGWIN_ENV_UPPERCASE=2, use default uppercase list (see above)
CYGWIN_ENV_UPPERCASE="var1 var2 var3 var4" uppercase only this variables.


The problem is the following function inside environ.cc. 
/* Turn environment variable part of a=b string into uppercase. */
static __inline__ void ucenv (char *p, char *eq)
{
  /* Amazingly, NT has a case sensitive environment name list,
(...)

The function simplifies to uppercase ALL environment variables.
And the next point is, that the environment is sorted (the bash will sort
the environment).
That means, that a lowercase variable (early in environment) will overwrite
an uppercase variable. Is it wanted? The environment has to be "cleaned up"
vice-versa?!?

But the (biggest) problem is, that the amazing case-sensitiv NT environment
will be changed, when
    if (!myself->ppid_handle) ucenv (newp, eq);
And this does'nt make any sense to me. Every "tiny" none cygwin program is a
danger for the current environment.

The following bash command sequence will destroy the bash environment. 
This is an example! I know how to call the bash, and that this example could
be solved by "bash -c bash" (nice)... I am working with some more other
programs, nobody will know. The example demonstrates the basic problem.


$ cmd.exe /C bash.exe

$ export path=laughing
$ export PATH="/usr/bin"
$ cmd.exe /C bash.exe
$ echo $PATH
laughing


> No idea what this question is.  Are you saying that you want 
> a cygwin for the POSIX subsystem?  There is no reason for such a thing.
No.
But the FAQ for cygwin says:
>The Cygwin tools are ports of the popular GNU development tools for
Microsoft Windows. They run thanks >to the Cygwin library which provides the
UNIX system calls and environment these programs expect. 

Such things, as I described ar not happening on UNIX, and they doesn't
happen, when not brute force changing the environment by uppercase all and
everyting (in the wrong order).

The biggest problem, I can not switch it off.

best regards
   Markus 


> -----Original Message-----
> From: Christopher Faylor [mailto:cygwin@cygwin.com]
> Sent: Thursday, February 28, 2002 3:22 PM
> To: cygwin@cygwin.com
> Subject: Re: Enviroment always uppercased; Help me, please
> 
> 
> On Thu, Feb 28, 2002 at 03:16:47PM +0100, Markus K. E. Kommant wrote:
> >Really???
> >
> >> Don't start the program from a non cygwin program.
> >
> >I am using Windows 2000/NT operating system as the base for my cygwin
> >programs and not DOS and not Linux.
> 
> Huh?
> 
> >Do anyone know a good trick to use POSIX Environment (or 
> simply real Windows
> >Environment) without the cygwin-DOS changes.
> 
> c:\> c:\cygwin\bin\sh -c "myprog.exe arg1 arg2"
> 
> I really don't know what you're talking about wrt cygwin-DOS.
> 
> >Hopefully waiting for help, without real POSIX I have to 
> look for another
> >programming base, instead of cygwin... 
> >
> >Probably there has anybody build an own cygwin1.dll with 
> POSIX Environment
> >on Windows???
> 
> No idea what this question is.  Are you saying that you want 
> a cygwin for
> the POSIX subsystem?  There is no reason for such a thing.
> 
> cgf
> 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
       [not found] <BDF28C498CFED4119D720002B330B89301200B04@xhole.bre.de.adp.com>
@ 2002-02-28  8:39 ` Peter Buckley
  0 siblings, 0 replies; 15+ messages in thread
From: Peter Buckley @ 2002-02-28  8:39 UTC (permalink / raw)
  To: Markus K. E. Kommant, cygwin

When bash is called by a windows program, such as command.exe, or 
explorer.exe, there is no problem with variables that are set *after* 
you invoke bash. If I start a command shell, then invoke bash and set a 
var, then invoke env, it works (as I showed in my first message). As you 
said, windows is not compiled against cygwin1.dll, so bash must be 
started from windows. The key is you must set the environment variable 
in bash, and invoke env from bash, for env to be case sensitive on the 
varible name. If the variable is set in a cmd shell or passed through a 
cmd shell, it will not be case sensitive when looked at with env.

HTH,
Peter

Markus K. E. Kommant wrote:

> It will work with MKS Toolkit Shell. 
> The program is started by my own (non cygwin compiled) program.
> Every other program, execpt programs compiled with cygwin, are okay.
> 
> The bug is inside cygwin, not in Windows or cmd.exe.
> 
> I am using my own pdksh.exe port. But even bash must be called by Windows
> programs. And then there will be a problem.
> 
> best regards
>    Markus
> 
> 
>>-----Original Message-----
>>From: Peter Buckley [mailto:peter.buckley@cportcorp.com]
>>Sent: Thursday, February 28, 2002 4:26 PM
>>To: Markus K. E. Kommant; cygwin@cygwin.com
>>Subject: Re: Enviroment always uppercased; Help me, please
>>
>>
>>Sounds like a problem with starting env directly from the 
>>command shell. 
>>Like he said, don't start cygwin programs from non-cygwin 
>>programs, i.e. 
>>don't run env from the command shell- use bash instead.
>>
>> From a cmd shell-
>>
>>cmd> set cAsE=sEnSiTiVe
>>cmd> env | grep -i case
>>CASE=sEnSiTiVe
>>
>> From a bash shell-
>>
>>bash> export cAsE=sEnSiTiVe
>>bash> env | grep -i case
>>cAsE=sEnSiTiVe
>>
>>HTH,
>>Peter
>>
>>Markus K. E. Kommant wrote:
>>
>>
>>>No, it doesn't
>>>
>>>When calling env.exe (compiled with cygwin1.dll), cygwin 
>>>
>>programs installed
>>
>>>in c:/usr/bin
>>>
>>>starting cmd.exe:
>>>
>>>C:\>set garfield=1234
>>>C:\>c:\usr\bin\env.exe | c:\usr\bin\grep -i gar
>>>GARFIELD=1234
>>>
>>>env.exe (the cygwin program) has uppercased the environment.
>>>(the set in the example was the set of cmd.exe, useally 
>>>
>>there is no set.exe
>>
>>>in /usr/bin)
>>>
>>>The solution, to start a cygwin program "NOT" from another 
>>>
>>cygwin program is
>>
>>>impossible on Windows. B. Gates won't rebuild Windows with useage of
>>>cygwin1.dll?
>>>
>>>And this is not typical for Windows (as you see by using 
>>>
>>set from cmd.exe)
>>
>>>and it is not typical for UNIX and POSIX. 
>>>
>>>To uppercase some Environment values can make sense.
>>>
>>>When exporting them to a DOS (and some Windows programs), 
>>>
>>but this is not
>>
>>>done by cygwin.
>>>
>>>And it could make sense to uppercase *some* variables, 
>>>
>>which come from
>>
>>>Windows programs, see MKS Toolkit, like PATH, instead of 
>>>
>>Path, and some
>>
>>>more, but this is optional. Else the use of cygwin is very 
>>>
>>restricted. I
>>
>>>solved this problem in a port of the pdksh very 
>>>
>>carefully... But all the
>>
>>>work is trash, if startupcode will change the environment - without
>>>notification or option to stop it.
>>>
>>>At the moment I am looking for a stable way (see thread Re: 
>>>
>>cygwin gcc DLLs
>>
>>>loaded by Visual C++ crashing) to call the pdksh.exe as a 
>>>
>>pdksh1.dll.
>>
>>>But the solution posted is not stable at the moment. After 
>>>
>>a while the
>>
>>>programs will hang.
>>>But the environment is okay (startupcode of MSVC seems to 
>>>
>>be okay...).
>>
>>>At least. Using the original Environment in cygwin is 
>>>
>>impossible. (> As cfg
>>
>>>said: "Don't start the program from a non cygwin program")
>>>
>>>The solution could be a user build cygwin1.dll without the 
>>>
>>Environment
>>
>>>hack?!? Anybody?
>>>
>>>Markus
>>>- Thread closed.
>>>
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: Hack Kampbjørn [mailto:cygwin@hack.kampbjorn.com]
>>>>Sent: Thursday, February 28, 2002 3:50 PM
>>>>To: Markus K. E. Kommant
>>>>Cc: cygwin@cygwin.com
>>>>Subject: Re: Enviroment always uppercased; Help me, please
>>>>
>>>>
>>>>"Markus K. E. Kommant" wrote:
>>>>
>>>>
>>>>>Really???
>>>>>
>>>>>
>>>>>
>>>>>>Don't start the program from a non cygwin program.
>>>>>>
>>>>>>
>>>>>I am using Windows 2000/NT operating system as the base for 
>>>>>
>>>>>
>>>>my cygwin
>>>>
>>>>
>>>>>programs and not DOS and not Linux.
>>>>>
>>>>>Do anyone know a good trick to use POSIX Environment (or 
>>>>>
>>>>>
>>>>simply real Windows
>>>>
>>>>
>>>>>Environment) without the cygwin-DOS changes.
>>>>>
>>>>>Hopefully waiting for help, without real POSIX I have to 
>>>>>
>>>>>
>>>>look for another
>>>>
>>>>
>>>>>programming base, instead of cygwin...
>>>>>
>>>>>Probably there has anybody build an own cygwin1.dll with 
>>>>>
>>>>>
>>>>POSIX Environment
>>>>
>>>>
>>>>>on Windows???
>>>>>
>>>>>Markus
>>>>>
>>>>>
>>>>I don't know what you're asking for. Cygwin does provide case 
>>>>sensitive
>>>>environment variables.
>>>>
>>>>In a cmd.exe window:
>>>>
>>>>	C:\>set env_var=lowercase
>>>>	C:\>set
>>>>	[...]
>>>>	env_var=lowercase
>>>>	[...]
>>>>	C:\>set ENV_VAR=UPPERCASE
>>>>	C:\>set
>>>>	[...]
>>>>	env_var=UPPERCASE
>>>>	[...]
>>>>	C:\>cygwin
>>>>	$ set | grep -i env_var
>>>>	ENV_VAR=UPPERCASE
>>>>	$ logout
>>>>	C:\cygwin\bin>exit
>>>>
>>>>And in cygwin's bash:
>>>>	$ env_var=lowercase
>>>>	$ ENV_VAR=UPPERCASE
>>>>	$ set | grep -i env_var
>>>>	ENV_VAR=UPPERCASE
>>>>	env_var=lowercase
>>>>	$ bash
>>>>	$ set | grep -i env_var
>>>>	$ exit
>>>>	$ export env_var ENV_VAR
>>>>	$ bash
>>>>	$ set | grep -i env_var
>>>>	ENV_VAR=UPPERCASE
>>>>	env_var=lowercase
>>>>	$ exit
>>>>	$ cmd.exe
>>>>	Microsoft Windows 2000 [Version 5.00.2195]
>>>>	(C) Copyright 1985-2000 Microsoft Corp.
>>>>
>>>>	C:\>set
>>>>	[...]
>>>>	ENV_VAR=UPPERCASE
>>>>	[...]
>>>>	env_var=lowercase
>>>>	[...]
>>>>
>>>>As cfg said: "Don't start the program from a non cygwin program"
>>>>
>>>>-- 
>>>>Med venlig hilsen / Kind regards
>>>>
>>>>Hack Kampbjørn
>>>>
>>>>
>>>>
>>>--
>>>Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
>>>Bug reporting:         http://cygwin.com/bugs.html
>>>Documentation:         http://cygwin.com/docs.html
>>>FAQ:                   http://cygwin.com/faq/
>>>
>>>
>>>
>>
>>-- 
>>1 Timothy 4:12 (NIV)- Don't let anyone look down on you 
>>because you are 
>>young, but set an example for the believers
>>in speech, in life, in love, in faith, and in purity.
>>
>>
> 


-- 
1 Timothy 4:12 (NIV)- Don't let anyone look down on you because you are 
young, but set an example for the believers
in speech, in life, in love, in faith, and in purity.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Enviroment always uppercased; Help me, please
@ 2002-02-28  8:05 Robinow, David
  0 siblings, 0 replies; 15+ messages in thread
From: Robinow, David @ 2002-02-28  8:05 UTC (permalink / raw)
  To: cygwin

> From: Markus K. E. Kommant [mailto:Markus.Kommant@de.adp.com]
> Subject: RE: Enviroment always uppercased; Help me, please
> The solution could be a user build cygwin1.dll without the Environment
> hack?!? Anybody?
  You.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
  2002-02-28  7:17 Markus K. E. Kommant
  2002-02-28  7:29 ` Christopher Faylor
@ 2002-02-28  7:30 ` Peter Buckley
  1 sibling, 0 replies; 15+ messages in thread
From: Peter Buckley @ 2002-02-28  7:30 UTC (permalink / raw)
  To: Markus K. E. Kommant, cygwin

Sounds like a problem with starting env directly from the command shell. 
Like he said, don't start cygwin programs from non-cygwin programs, i.e. 
don't run env from the command shell- use bash instead.

 From a cmd shell-

cmd> set cAsE=sEnSiTiVe
cmd> env | grep -i case
CASE=sEnSiTiVe

 From a bash shell-

bash> export cAsE=sEnSiTiVe
bash> env | grep -i case
cAsE=sEnSiTiVe

HTH,
Peter

Markus K. E. Kommant wrote:

> No, it doesn't
> 
> When calling env.exe (compiled with cygwin1.dll), cygwin programs installed
> in c:/usr/bin
> 
> starting cmd.exe:
> 
> C:\>set garfield=1234
> C:\>c:\usr\bin\env.exe | c:\usr\bin\grep -i gar
> GARFIELD=1234
> 
> env.exe (the cygwin program) has uppercased the environment.
> (the set in the example was the set of cmd.exe, useally there is no set.exe
> in /usr/bin)
> 
> The solution, to start a cygwin program "NOT" from another cygwin program is
> impossible on Windows. B. Gates won't rebuild Windows with useage of
> cygwin1.dll?
> 
> And this is not typical for Windows (as you see by using set from cmd.exe)
> and it is not typical for UNIX and POSIX. 
> 
> To uppercase some Environment values can make sense.
> 
> When exporting them to a DOS (and some Windows programs), but this is not
> done by cygwin.
> 
> And it could make sense to uppercase *some* variables, which come from
> Windows programs, see MKS Toolkit, like PATH, instead of Path, and some
> more, but this is optional. Else the use of cygwin is very restricted. I
> solved this problem in a port of the pdksh very carefully... But all the
> work is trash, if startupcode will change the environment - without
> notification or option to stop it.
> 
> At the moment I am looking for a stable way (see thread Re: cygwin gcc DLLs
> loaded by Visual C++ crashing) to call the pdksh.exe as a pdksh1.dll.
> 
> But the solution posted is not stable at the moment. After a while the
> programs will hang.
> But the environment is okay (startupcode of MSVC seems to be okay...).
> 
> At least. Using the original Environment in cygwin is impossible. (> As cfg
> said: "Don't start the program from a non cygwin program")
> 
> The solution could be a user build cygwin1.dll without the Environment
> hack?!? Anybody?
> 
> Markus
> - Thread closed.
> 
> 
> 
>>-----Original Message-----
>>From: Hack Kampbjørn [mailto:cygwin@hack.kampbjorn.com]
>>Sent: Thursday, February 28, 2002 3:50 PM
>>To: Markus K. E. Kommant
>>Cc: cygwin@cygwin.com
>>Subject: Re: Enviroment always uppercased; Help me, please
>>
>>
>>"Markus K. E. Kommant" wrote:
>>
>>>Really???
>>>
>>>
>>>>Don't start the program from a non cygwin program.
>>>>
>>>I am using Windows 2000/NT operating system as the base for 
>>>
>>my cygwin
>>
>>>programs and not DOS and not Linux.
>>>
>>>Do anyone know a good trick to use POSIX Environment (or 
>>>
>>simply real Windows
>>
>>>Environment) without the cygwin-DOS changes.
>>>
>>>Hopefully waiting for help, without real POSIX I have to 
>>>
>>look for another
>>
>>>programming base, instead of cygwin...
>>>
>>>Probably there has anybody build an own cygwin1.dll with 
>>>
>>POSIX Environment
>>
>>>on Windows???
>>>
>>>Markus
>>>
>>I don't know what you're asking for. Cygwin does provide case 
>>sensitive
>>environment variables.
>>
>>In a cmd.exe window:
>>
>>	C:\>set env_var=lowercase
>>	C:\>set
>>	[...]
>>	env_var=lowercase
>>	[...]
>>	C:\>set ENV_VAR=UPPERCASE
>>	C:\>set
>>	[...]
>>	env_var=UPPERCASE
>>	[...]
>>	C:\>cygwin
>>	$ set | grep -i env_var
>>	ENV_VAR=UPPERCASE
>>	$ logout
>>	C:\cygwin\bin>exit
>>
>>And in cygwin's bash:
>>	$ env_var=lowercase
>>	$ ENV_VAR=UPPERCASE
>>	$ set | grep -i env_var
>>	ENV_VAR=UPPERCASE
>>	env_var=lowercase
>>	$ bash
>>	$ set | grep -i env_var
>>	$ exit
>>	$ export env_var ENV_VAR
>>	$ bash
>>	$ set | grep -i env_var
>>	ENV_VAR=UPPERCASE
>>	env_var=lowercase
>>	$ exit
>>	$ cmd.exe
>>	Microsoft Windows 2000 [Version 5.00.2195]
>>	(C) Copyright 1985-2000 Microsoft Corp.
>>
>>	C:\>set
>>	[...]
>>	ENV_VAR=UPPERCASE
>>	[...]
>>	env_var=lowercase
>>	[...]
>>
>>As cfg said: "Don't start the program from a non cygwin program"
>>
>>-- 
>>Med venlig hilsen / Kind regards
>>
>>Hack Kampbjørn
>>
>>
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
> 
> 


-- 
1 Timothy 4:12 (NIV)- Don't let anyone look down on you because you are 
young, but set an example for the believers
in speech, in life, in love, in faith, and in purity.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
  2002-02-28  7:17 Markus K. E. Kommant
@ 2002-02-28  7:29 ` Christopher Faylor
  2002-02-28  7:30 ` Peter Buckley
  1 sibling, 0 replies; 15+ messages in thread
From: Christopher Faylor @ 2002-02-28  7:29 UTC (permalink / raw)
  To: Hack Kampbj?rn, cygwin

On Thu, Feb 28, 2002 at 04:08:17PM +0100, Markus K. E. Kommant wrote:
>No, it doesn't
>
>When calling env.exe (compiled with cygwin1.dll), cygwin programs installed
>in c:/usr/bin
>
>starting cmd.exe:
>
>C:\>set garfield=1234
>C:\>c:\usr\bin\env.exe | c:\usr\bin\grep -i gar
>GARFIELD=1234
>
>env.exe (the cygwin program) has uppercased the environment.
>(the set in the example was the set of cmd.exe, useally there is no set.exe
>in /usr/bin)
>
>The solution, to start a cygwin program "NOT" from another cygwin program is
>impossible on Windows. B. Gates won't rebuild Windows with useage of
>cygwin1.dll?

sh -c "garfield=1234; export garfield; /usr/bin/env | /usr/bin/grep -i gar;cmd"

When cmd runs, you'll see garfield in lowercase.

>And it could make sense to uppercase *some* variables, which come from
>Windows programs, see MKS Toolkit, like PATH, instead of Path, and some
>more, but this is optional. Else the use of cygwin is very restricted. I
>solved this problem in a port of the pdksh very carefully... But all the
>work is trash, if startupcode will change the environment - without
>notification or option to stop it.

The horror!

>At the moment I am looking for a stable way (see thread Re: cygwin gcc DLLs
>loaded by Visual C++ crashing) to call the pdksh.exe as a pdksh1.dll.
>
>But the solution posted is not stable at the moment. After a while the
>programs will hang.
>But the environment is okay (startupcode of MSVC seems to be okay...).

So, are you actually running a debugger on things to see what's going on
or are you casting around in the dark tinkering and hoping that things
will work.

>At least. Using the original Environment in cygwin is impossible. (> As cfg
>said: "Don't start the program from a non cygwin program")
>
>The solution could be a user build cygwin1.dll without the Environment
>hack?!? Anybody?

Go right ahead.  Why are you asking someone else to do this for you?

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Enviroment always uppercased; Help me, please
@ 2002-02-28  7:17 Markus K. E. Kommant
  2002-02-28  7:29 ` Christopher Faylor
  2002-02-28  7:30 ` Peter Buckley
  0 siblings, 2 replies; 15+ messages in thread
From: Markus K. E. Kommant @ 2002-02-28  7:17 UTC (permalink / raw)
  To: Hack Kampbjørn; +Cc: cygwin

No, it doesn't

When calling env.exe (compiled with cygwin1.dll), cygwin programs installed
in c:/usr/bin

starting cmd.exe:

C:\>set garfield=1234
C:\>c:\usr\bin\env.exe | c:\usr\bin\grep -i gar
GARFIELD=1234

env.exe (the cygwin program) has uppercased the environment.
(the set in the example was the set of cmd.exe, useally there is no set.exe
in /usr/bin)

The solution, to start a cygwin program "NOT" from another cygwin program is
impossible on Windows. B. Gates won't rebuild Windows with useage of
cygwin1.dll?

And this is not typical for Windows (as you see by using set from cmd.exe)
and it is not typical for UNIX and POSIX. 

To uppercase some Environment values can make sense.

When exporting them to a DOS (and some Windows programs), but this is not
done by cygwin.

And it could make sense to uppercase *some* variables, which come from
Windows programs, see MKS Toolkit, like PATH, instead of Path, and some
more, but this is optional. Else the use of cygwin is very restricted. I
solved this problem in a port of the pdksh very carefully... But all the
work is trash, if startupcode will change the environment - without
notification or option to stop it.

At the moment I am looking for a stable way (see thread Re: cygwin gcc DLLs
loaded by Visual C++ crashing) to call the pdksh.exe as a pdksh1.dll.

But the solution posted is not stable at the moment. After a while the
programs will hang.
But the environment is okay (startupcode of MSVC seems to be okay...).

At least. Using the original Environment in cygwin is impossible. (> As cfg
said: "Don't start the program from a non cygwin program")

The solution could be a user build cygwin1.dll without the Environment
hack?!? Anybody?

Markus
- Thread closed.


> -----Original Message-----
> From: Hack Kampbjørn [mailto:cygwin@hack.kampbjorn.com]
> Sent: Thursday, February 28, 2002 3:50 PM
> To: Markus K. E. Kommant
> Cc: cygwin@cygwin.com
> Subject: Re: Enviroment always uppercased; Help me, please
> 
> 
> "Markus K. E. Kommant" wrote:
> > 
> > Really???
> > 
> > > Don't start the program from a non cygwin program.
> > 
> > I am using Windows 2000/NT operating system as the base for 
> my cygwin
> > programs and not DOS and not Linux.
> > 
> > Do anyone know a good trick to use POSIX Environment (or 
> simply real Windows
> > Environment) without the cygwin-DOS changes.
> > 
> > Hopefully waiting for help, without real POSIX I have to 
> look for another
> > programming base, instead of cygwin...
> > 
> > Probably there has anybody build an own cygwin1.dll with 
> POSIX Environment
> > on Windows???
> > 
> > Markus
> 
> I don't know what you're asking for. Cygwin does provide case 
> sensitive
> environment variables.
> 
> In a cmd.exe window:
> 
> 	C:\>set env_var=lowercase
> 	C:\>set
> 	[...]
> 	env_var=lowercase
> 	[...]
> 	C:\>set ENV_VAR=UPPERCASE
> 	C:\>set
> 	[...]
> 	env_var=UPPERCASE
> 	[...]
> 	C:\>cygwin
> 	$ set | grep -i env_var
> 	ENV_VAR=UPPERCASE
> 	$ logout
> 	C:\cygwin\bin>exit
> 
> And in cygwin's bash:
> 	$ env_var=lowercase
> 	$ ENV_VAR=UPPERCASE
> 	$ set | grep -i env_var
> 	ENV_VAR=UPPERCASE
> 	env_var=lowercase
> 	$ bash
> 	$ set | grep -i env_var
> 	$ exit
> 	$ export env_var ENV_VAR
> 	$ bash
> 	$ set | grep -i env_var
> 	ENV_VAR=UPPERCASE
> 	env_var=lowercase
> 	$ exit
> 	$ cmd.exe
> 	Microsoft Windows 2000 [Version 5.00.2195]
> 	(C) Copyright 1985-2000 Microsoft Corp.
> 
> 	C:\>set
> 	[...]
> 	ENV_VAR=UPPERCASE
> 	[...]
> 	env_var=lowercase
> 	[...]
> 
> As cfg said: "Don't start the program from a non cygwin program"
> 
> -- 
> Med venlig hilsen / Kind regards
> 
> Hack Kampbjørn
> 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
  2002-02-28  6:29 Markus K. E. Kommant
  2002-02-28  6:40 ` Christopher Faylor
@ 2002-02-28  7:08 ` Hack Kampbjørn
  1 sibling, 0 replies; 15+ messages in thread
From: Hack Kampbjørn @ 2002-02-28  7:08 UTC (permalink / raw)
  To: Markus K. E. Kommant; +Cc: cygwin

"Markus K. E. Kommant" wrote:
> 
> Really???
> 
> > Don't start the program from a non cygwin program.
> 
> I am using Windows 2000/NT operating system as the base for my cygwin
> programs and not DOS and not Linux.
> 
> Do anyone know a good trick to use POSIX Environment (or simply real Windows
> Environment) without the cygwin-DOS changes.
> 
> Hopefully waiting for help, without real POSIX I have to look for another
> programming base, instead of cygwin...
> 
> Probably there has anybody build an own cygwin1.dll with POSIX Environment
> on Windows???
> 
> Markus

I don't know what you're asking for. Cygwin does provide case sensitive
environment variables.

In a cmd.exe window:

	C:\>set env_var=lowercase
	C:\>set
	[...]
	env_var=lowercase
	[...]
	C:\>set ENV_VAR=UPPERCASE
	C:\>set
	[...]
	env_var=UPPERCASE
	[...]
	C:\>cygwin
	$ set | grep -i env_var
	ENV_VAR=UPPERCASE
	$ logout
	C:\cygwin\bin>exit

And in cygwin's bash:
	$ env_var=lowercase
	$ ENV_VAR=UPPERCASE
	$ set | grep -i env_var
	ENV_VAR=UPPERCASE
	env_var=lowercase
	$ bash
	$ set | grep -i env_var
	$ exit
	$ export env_var ENV_VAR
	$ bash
	$ set | grep -i env_var
	ENV_VAR=UPPERCASE
	env_var=lowercase
	$ exit
	$ cmd.exe
	Microsoft Windows 2000 [Version 5.00.2195]
	(C) Copyright 1985-2000 Microsoft Corp.

	C:\>set
	[...]
	ENV_VAR=UPPERCASE
	[...]
	env_var=lowercase
	[...]

As cfg said: "Don't start the program from a non cygwin program"

-- 
Med venlig hilsen / Kind regards

Hack Kampbjørn

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
  2002-02-28  6:29 Markus K. E. Kommant
@ 2002-02-28  6:40 ` Christopher Faylor
  2002-02-28  7:08 ` Hack Kampbjørn
  1 sibling, 0 replies; 15+ messages in thread
From: Christopher Faylor @ 2002-02-28  6:40 UTC (permalink / raw)
  To: cygwin

On Thu, Feb 28, 2002 at 03:16:47PM +0100, Markus K. E. Kommant wrote:
>Really???
>
>> Don't start the program from a non cygwin program.
>
>I am using Windows 2000/NT operating system as the base for my cygwin
>programs and not DOS and not Linux.

Huh?

>Do anyone know a good trick to use POSIX Environment (or simply real Windows
>Environment) without the cygwin-DOS changes.

c:\> c:\cygwin\bin\sh -c "myprog.exe arg1 arg2"

I really don't know what you're talking about wrt cygwin-DOS.

>Hopefully waiting for help, without real POSIX I have to look for another
>programming base, instead of cygwin... 
>
>Probably there has anybody build an own cygwin1.dll with POSIX Environment
>on Windows???

No idea what this question is.  Are you saying that you want a cygwin for
the POSIX subsystem?  There is no reason for such a thing.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Enviroment always uppercased; Help me, please
@ 2002-02-28  6:29 Markus K. E. Kommant
  2002-02-28  6:40 ` Christopher Faylor
  2002-02-28  7:08 ` Hack Kampbjørn
  0 siblings, 2 replies; 15+ messages in thread
From: Markus K. E. Kommant @ 2002-02-28  6:29 UTC (permalink / raw)
  To: cygwin

Really???

> Don't start the program from a non cygwin program.

I am using Windows 2000/NT operating system as the base for my cygwin
programs and not DOS and not Linux.

Do anyone know a good trick to use POSIX Environment (or simply real Windows
Environment) without the cygwin-DOS changes.

Hopefully waiting for help, without real POSIX I have to look for another
programming base, instead of cygwin... 

Probably there has anybody build an own cygwin1.dll with POSIX Environment
on Windows???

Markus


> -----Original Message-----
> From: Christopher Faylor [mailto:cygwin@cygwin.com]
> Sent: Wednesday, February 27, 2002 6:59 PM
> To: cygwin@cygwin.com
> Subject: Re: Enviroment always uppercased; Help me, please
> 
> 
> On Wed, Feb 27, 2002 at 06:46:57PM +0100, Markus K. E. Kommant wrote:
> >Seems to be a cygwin "feature" that the environment will be 
> uppercased, when
> >called by a none cygwin program.
> 
> "Correct".
> 
> >Is there a trick to switch to a "POSIX" mode in cygwin and 
> leave the case of
> >the environment unchanged?
> 
> Don't start the program from a non cygwin program.
> 
> cgf
> 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Enviroment always uppercased; Help me, please
       [not found] <BDF28C498CFED4119D720002B330B89301200A7D@xhole.bre.de.adp. com>
@ 2002-02-27 10:20 ` Larry Hall (RFK Partners, Inc)
  0 siblings, 0 replies; 15+ messages in thread
From: Larry Hall (RFK Partners, Inc) @ 2002-02-27 10:20 UTC (permalink / raw)
  To: Markus K. E. Kommant, cygwin

At 12:46 PM 2/27/2002, Markus K. E. Kommant wrote:
>Seems to be a cygwin "feature" that the environment will be uppercased, when
>called by a none cygwin program.
>
>When puting a variable "gar=1" into the environment and call a program
>compiled with gcc and cygwin, the result, when printing the environment,
>will be
>GAR=1
>
>ups, gar != GAR, especially in a POSIX environment!
>
>When compiling the program with MS Developer Studio C++ the printed result
>will be
>gar=1
>and that's okay.
>
>Is there a trick to switch to a "POSIX" mode in cygwin and leave the case of
>the environment unchanged?



Check the email archives if you want details.  You'll have to go waaay
back. :-)  The change was made for better interoperability of Cygwin and 
DOS/'Doze but I don't recall the details off hand.



Larry Hall                              lhall@rfk.com
RFK Partners, Inc.                      http://www.rfk.com
838 Washington Street                   (508) 893-9779 - RFK Office
Holliston, MA 01746                     (508) 893-9889 - FAX


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2002-03-02  3:01 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-27  9:59 Enviroment always uppercased; Help me, please Markus K. E. Kommant
2002-02-27 10:04 ` Christopher Faylor
     [not found] <BDF28C498CFED4119D720002B330B89301200A7D@xhole.bre.de.adp. com>
2002-02-27 10:20 ` Larry Hall (RFK Partners, Inc)
2002-02-28  6:29 Markus K. E. Kommant
2002-02-28  6:40 ` Christopher Faylor
2002-02-28  7:08 ` Hack Kampbjørn
2002-02-28  7:17 Markus K. E. Kommant
2002-02-28  7:29 ` Christopher Faylor
2002-02-28  7:30 ` Peter Buckley
2002-02-28  8:05 Robinow, David
     [not found] <BDF28C498CFED4119D720002B330B89301200B04@xhole.bre.de.adp.com>
2002-02-28  8:39 ` Peter Buckley
2002-03-01  5:06 Markus K. E. Kommant
2002-03-01  5:39 ` Christopher Faylor
2002-03-01  9:36 Markus K. E. Kommant
2002-03-01 19:01 ` Christopher Faylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).