[cvsnt] Taginfo parameter handling
Bo.Berglund at system3r.se
Tue Aug 17 08:20:52 BST 2004
As can be seen from my previous recent communications there is a problem with the taginfo calling when tagging is done in modules that contain an & char somewhere in the path. Windows strips the call parameter carrying the module name at the & char and the taginfo call generates a system error.
The solution to this is a modification to the taginfo call that places double quotes around the last parameter in the call (the module name). This has to be done in tag.c.
Now one can argue that people should not use & in module names, but it goes deeper than this, actually.
This problem also affects the way tagging is reported if a module folder has a name containing embedded spaces, because in this case the module name is considered by Windows to be not one but several different call parameters. And to top it off it is not possible for the taginfo program to reconstruct the true name by observing that there are more than the expected number of parameters and paste the last ones together using a space in between, because if there are two or more consecutive spaces Windows gives no way to know how many was used in the call.
Also this problem is solved simply by putting the double quotes around the module name....
There might be a need for having a switch in the tag.c code to detect on which operating system the cvsnt is compiled because I guess that on Unix/Linux there is a different method to make sure the parameter values can contain spaces?
I just hope that this goes into the next release of CVSNT since it seems totally harmless and solves two actual problems.
More information about the cvsnt