This is the mail archive of the
mailing list for the Cygwin project.
Re: argv @-expansion with pathname containing spaces
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:
But this still won't work:
The @ must be the first character in a word.
Hope that helps,
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple