Fix #159 - Streamline TimeSpan parsing logic, get rid of the buggy code

pull/175/head
Oleg Nenashev 2016-12-29 11:02:24 +01:00
parent fca428d351
commit 9399544ef5
1 changed files with 6 additions and 14 deletions

View File

@ -126,16 +126,8 @@ namespace winsw
private TimeSpan SingleTimeSpanElement(XmlNode parent, string tagName, TimeSpan defaultValue) private TimeSpan SingleTimeSpanElement(XmlNode parent, string tagName, TimeSpan defaultValue)
{ {
var e = parent.SelectSingleNode(tagName); var value = SingleElement(tagName, true);
return (value != null) ? ParseTimeSpan(value) : defaultValue;
if (e == null)
{
return defaultValue;
}
else
{
return ParseTimeSpan(e.InnerText);
}
} }
private TimeSpan ParseTimeSpan(string v) private TimeSpan ParseTimeSpan(string v)
@ -505,7 +497,7 @@ namespace winsw
{ {
get get
{ {
return SingleTimeSpanElement(dom.FirstChild, "waithint", Defaults.WaitHint); return SingleTimeSpanElement(dom, "waithint", Defaults.WaitHint);
} }
} }
@ -519,7 +511,7 @@ namespace winsw
{ {
get get
{ {
return SingleTimeSpanElement(dom.FirstChild, "sleeptime", Defaults.SleepTime); return SingleTimeSpanElement(dom, "sleeptime", Defaults.SleepTime);
} }
} }
@ -615,7 +607,7 @@ namespace winsw
{ {
get get
{ {
return SingleTimeSpanElement(dom.FirstChild, "resetfailure", Defaults.ResetFailureAfter); return SingleTimeSpanElement(dom, "resetfailure", Defaults.ResetFailureAfter);
} }
} }
@ -703,7 +695,7 @@ namespace winsw
{ {
get get
{ {
return SingleTimeSpanElement(dom.FirstChild, "stoptimeout", Defaults.StopTimeout); return SingleTimeSpanElement(dom, "stoptimeout", Defaults.StopTimeout);
} }
} }