[cvsnt] Re: Taginfo call cannot handle & character in argument list or module name....
Bo Berglund
bo.berglund at telia.com
Sun Aug 15 08:19:49 BST 2004
On Sun, 15 Aug 2004 02:09:15 +0100, Tony Hoyle <tmh at nodomain.org>
wrote:
>& is special to NT and it's impossible to escape it... There's no known
>workaround.
>
>Tony
So it seems, I just tested by starting a program with bogus parameters
including a & character...
But a *very simple* solution to the "problem" is to just enclose the
module name (with the embedded &) in double quotes.
I tested this on the command line and there is a definite difference
when using quotes and not.
You can do this little test yourself:
- in a temp folder create a folder Run&Drive and put some file into it
- Then create a command prompt on the temp folder
- Now issue the command 'dir Run&Drive'
The result is an error message
- Then issue 'dir "Run&Drive"' instead
The result is the directory listing we would expect
So by modifying CVSNT such that it supplies the built-in arguments
enclosed in double quotes I think the problem will be fixed. The user
supplied arguments can be controlled by the content of the taginfo
file so these do not have to be handled, even though a general
argument processing function in CVSNT that puts quotes around all
script call arguments that are not already quoted would not harm but
save from future problems.
Windows will strip the quotes away anyway, but they protect against
problematic strings (also names that have embededd spaces...).
Here is the output from my testing:
F:\Engineering\Projects\ModuleYY>dir Run&Drive
Volume in drive F is Eagle F
Volume Serial Number is 5064-C593
Directory of F:\Engineering\Projects\ModuleYY
File Not Found
'Drive' is not recognized as an internal or external command,
operable program or batch file.
F:\Engineering\Projects\ModuleYY>dir "Run&Drive"
Volume in drive F is Eagle F
Volume Serial Number is 5064-C593
Directory of F:\Engineering\ProjectsModuleYY\Run&Drive
2004-08-14 23:15 <DIR> .
2004-08-14 23:15 <DIR> ..
2004-08-14 23:15 <DIR> SubFolder
2004-08-14 23:14 22 Test.txt
1 File(s) 22 bytes
3 Dir(s) 19 627 405 312 bytes free
/Bo
(Bo Berglund, developer in Sweden)
More information about the cvsnt
mailing list