[Mono-list] Filenames with spaces in it

Paolo Molaro lupus@ximian.com
Tue, 13 Aug 2002 14:51:16 +0200


On 08/13/02 A Rafael D Teixeira wrote:
> compiled with csc and run in windows with these parameters give
> 
> >getopttest --help --param="what it takes.dll" "filename with spaces.cs" 
> >without quotes it must fail.cs
> 
> args[0] = "--help"
> args[1] = "--param=what it takes.dll"
> args[2] = "filename with spaces.cs"
> args[3] = "without"
> args[4] = "quotes"
> args[5] = "it"
> args[6] = "must"
> args[7] = "fail.cs"
> 
> So the runtime does some parameter processing before handing them to Main, 
> see what happened to args[1] in special.

That is the shell quoting, most probably.

> My guess is the runtime isn't making the same preprocessing of 
> double-quoted parameters.

The reported problem is a "feature" of mcs: in the response file you can
specifiy more than one option/argument per line, so mcs has to split
on whitespace.
There are two solutions:
1) only take one option/arg per line in the response file
2) require quoting in the option file for arguments with spaces in them

Ideally, the same behaviour of csc should be achieved (and if csc is
broken, I vote for solution 1).

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better