delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/12/20/08:43:19

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Thu, 20 Dec 2012 14:42:42 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: argv @-expansion with pathname containing spaces
Message-ID: <20121220134242.GB24713@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <20121219162048 DOT GA4564 AT qp9482> <CAEhDDbDcoiKng6D2zqb-_xKrMUnt_H8Lj7FNPgXnMfis0R9mpw AT mail DOT gmail DOT com> <20121220115536 DOT GA300 AT qp9482>
MIME-Version: 1.0
In-Reply-To: <20121220115536.GA300@qp9482>
User-Agent: Mutt/1.5.21 (2010-09-15)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Dec 20 12:55, Denis Excoffier wrote:
> On Thu, Dec 20, 2012 at 11:34:37AM +0100, Csaba Raduly wrote:
> >> H Denis,
> >> 
> >> On Wed, Dec 19, 2012 at 5:20 PM, Denis Excoffier  wrote:
> >> >
> >> > Hello,
> >> >
> >> > I try to use the @pathname feature (see
> >> > http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-at),
> >> > but it does not seem to work when pathname contains a space character.
> >> >
> >> > My test pathname is D:\Documents and Settings\myuser\Desktop\test; with
> >> > C:\Home\myuser\test it works perfectly.
> >> >
> >> > I have tried @"path name" or @'path name', @path\\ name, or even
> >> > @path" "name, with no interpretation of the @.
> >> 
> >> Have you tried with '@D:\Documents and Settings\myuser\Desktop\test' ?
> Does not work.
> >> Have you tried with '@D:\Docume~1\myuser\Desktop\test' ?
> Does not work either, but @D:\Docume~1\myuser\Desktop\test
> (without the simple quotes) does work. However i don't see how to
> derive the 8.3 form from my original filename, using DOS only.
> 
> For the moment, the best solution i have is to copy
> the original file into, say, %TEMP%\dummy.txt, hoping that %TEMP%
> will not contain any spaces:
> 
> copy "%pathname%" %TEMP%\dummy.txt > nul

In fact the @ expression was not allowed to be quoted, since the quoted
string was kept intact for a later call to glob(3).  Unfortunately, the
insert_file function, which handles reading the DOS file given as @
parameter doesn't handle quoting either.

I applied a patch which allows a simple, quoted string after the @
expression now.  So this works:

  @"a b\foo"

But this still won't work:

  "@a b\foo"

The @ must be the first character in a word.


Hope that helps,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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