This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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:
>>>>> 
>>>>> 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.

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,
It does.

Denis Excoffier.


--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]