[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


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


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
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook