Permalink
Browse files

WinSW should handle whitespace in the argument correctly

git-svn-id: https://svn.kenai.com/svn/winsw~subversion/trunk@43 c8b2a3fe-9b5b-6a51-a37e-dc31b0e308fa
  • Loading branch information...
1 parent 08e8778 commit 83380bdd9b801d82022ca58d9637300494f1ee8b kohsuke committed Feb 9, 2010
Showing with 16 additions and 2 deletions.
  1. +16 −2 Main.cs
View
18 Main.cs
@@ -180,7 +180,7 @@ public string Stoparguments
/// <summary>
/// Combines the contents of all the elements of the given name,
- /// or return null if no element exists.
+ /// or return null if no element exists. Handles whitespace quotation.
/// </summary>
private string AppendTags(string tagName)
{
@@ -196,7 +196,21 @@ private string AppendTags(string tagName)
foreach (XmlNode argument in dom.SelectNodes("//" + tagName))
{
- arguments += " " + argument.InnerText;
+ string token = argument.InnerText;
+ if (token.StartsWith("\"") && token.EndsWith("\""))
+ {
+ // for backward compatibility, if the argument is already quoted, leave it as is.
+ // in earlier versions we didn't handle quotation, so the user might have worked
+ // around it by themselves
+ }
+ else
+ {
+ if (token.Contains(" "))
+ {
+ token = '"' + token + '"';
+ }
+ }
+ arguments += " " + token;
}
return Environment.ExpandEnvironmentVariables(arguments);

0 comments on commit 83380bd

Please sign in to comment.