[Xymon] Fun with xymonlaunch and MAXTIME
Ralph Mitchell
ralphmitchell at gmail.com
Wed Feb 22 22:06:39 CET 2017
Apparently the tasks.cfg MAXTIME option is not very tolerant of spacing:
MAXTIME 10m - with two spaces, is interpreted as 10 seconds
MAXTIME 10m - with one space, is interpreted as 600 seconds
I think the problem lies at line 276 in xymon-4.3.28/common/xymonlaunch.c:
tspec = p + strspn(p, "0123456789");
switch (*tspec) {
case 'm': curtask->maxruntime *= 60; break; /*
Minutes */
case 'h': curtask->maxruntime *= 3600; break; /*
Hours */
case 'd': curtask->maxruntime *= 86400;
break; /* Days */
}
The pointer p is pointing to the first character after "MAXTIME ". That's
fine as long as it points to a numeric string. If it doesn't point to a
string of digits, tspec doesn't end up pointing to the multiplier, so
MAXTIME is handled as seconds.
Adding a space to the strspn string should fix it:
tspec = p + strspn(p, " 0123456789");
Similarly, at line 254, for the INTERVAL option.
Ralph Mitchell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20170222/87572aa9/attachment.html>
More information about the Xymon
mailing list