delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/08/16/11:58:53

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <80575AFA5F0DD31197CE00805F650D7602CD62@wilber.adroit.com>
From: "Robinow, David" <drobinow AT dayton DOT adroit DOT com>
To: "'Jonathan Kamens'" <jik AT kamens DOT brookline DOT ma DOT us>,
cygwin AT sourceware DOT cygnus DOT com
Subject: RE: cygwin1-20000811: exec*() quoting backslashes for args conta
ining spaces?
Date: Wed, 16 Aug 2000 12:00:35 -0400
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2650.21)

------_=_NextPart_001_01C0079B.1D097D50
Content-Type: text/plain;
	charset="iso-8859-1"

You don't have a cygwin version of perl in your path. Try the same command
from a dos box. You won't get what you think you should there either.
 I don't have a cygwin perl handy.  Anybody know how that works?
 Did you have a cygwin perl on your b20 system?
-----Original Message-----
From: Jonathan Kamens [mailto:jik AT kamens DOT brookline DOT ma DOT us]
Sent: Wednesday, August 16, 2000 11:29 AM
To: cygwin AT sourceware DOT cygnus DOT com
Subject: cygwin1-20000811: exec*() quoting backslashes for args
containing spaces?

Put this in foo.pl:
	$" = "\n";
	print "@ARGV\n";

Now in a cygwin window run:
	perl foo.pl '\foo bar' '\foobar'

You SHOUlD see this:
	\foo bar
	\foobar

Instead, you'll see this:
	\\foo bar
	\foobar

The space appears to be the kicker -- when an argument has spaces in
it, the exec*() functions in cygwin1.dll quote the backslashes in it
before passing it to the called process.  This doesn't happen if there
are no spaces.  This seems rather broken.

The reason why I believe that cygwin1.dll is doing the bogus quoting
is because it happens whether you run the command from bash or ash.

I confirmed that this problem exists with two different cygwin1.dll's,
including the cygwin1-20000811 snapshot.  Here's the output of
"cygcheck -s -v -r" for that one:
[Omitted for brevity. See original post]

		      *************************

This is not a problem with Cygwin B20 when using a snapshot of
cygwin1.dll from 1999/9/30:

 4169k 2000/05/02 c:\cygnus\CYGWIN~1\H-I586~1\bin\cygwin1.dll - os=4.0
img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=1999/9/30 11:42

Any thoughts?

  jik

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

------_=_NextPart_001_01C0079B.1D097D50--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019