This is the mail archive of the
mailing list for the Cygwin project.
Re: argv @-expansion with pathname containing spaces
On 2012-12-20 14:42, Corinna Vinschen wrote:
> 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:
>>>>> I try to use the @pathname feature (see
>>>>> 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.
I applied your change (http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/dcrt0.cc.diff?cvsroot=src&r1=1.437&r2=1.438)
and it works wonderfully well. And @'a b\foo' also works. Thank you Corinna.
> Hope that helps,
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple