From 6cc623a7b40e255fa4b08918aec4d0a6a5fd4ca2 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Fri, 10 Nov 2017 17:36:59 -0800 Subject: [PATCH] Fixed camonitor server side relative timestamps bug tsFirst needs to get initialized from the first server side timestamp instead of the client side tsNow. --- src/catools/tool_lib.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/catools/tool_lib.c b/src/catools/tool_lib.c index a29d7efaf..ce7a049a1 100644 --- a/src/catools/tool_lib.c +++ b/src/catools/tool_lib.c @@ -416,6 +416,12 @@ char *dbr2str (const void *value, unsigned type) ptsNewS = &((struct TYPE *)value)->stamp; \ ptsNewC = &tsNow; \ \ + if (!tsInitS) \ + { \ + tsFirst = *ptsNewS; \ + tsInitS = 1; \ + } \ + \ switch (tsType) { \ case relative: \ ptsRefC = &tsStart; \ @@ -508,12 +514,6 @@ void print_time_val_sts (pv* pv, unsigned long reqElems) epicsTimeGetCurrent(&tsNow); epicsTimeToStrftime(timeText, TIMETEXTLEN, timeFormatStr, &tsNow); - if (!tsInitS) - { - tsFirst = tsNow; - tsInitS = 1; - } - if (pv->nElems <= 1 && fieldSeparator == ' ') printf("%-30s", pv->name); else printf("%s", pv->name); printf("%c", fieldSeparator);