From 1ec858244efc4265fa5fa4c797c006a82ca52308 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Thu, 2 Oct 2008 15:29:34 +0200 Subject: bugfix: subseconds where not correctly extracted from a timestamp if that timestamp did not contain any subsecond information (the resulting string was garbagge but should have been "0", what it now is). --- runtime/datetime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'runtime') diff --git a/runtime/datetime.c b/runtime/datetime.c index 6d5652ff..aeb5fac5 100644 --- a/runtime/datetime.c +++ b/runtime/datetime.c @@ -534,7 +534,7 @@ int formatTimestampSecFrac(struct syslogTime *ts, char* pBuf, size_t iLenBuf) lenRet = snprintf(pBuf, iLenBuf, szFmtStr, ts->secfrac); } else { pBuf[0] = '0'; - pBuf[1] = '1'; + pBuf[1] = '\0'; lenRet = 1; } -- cgit From 02bb3c901d9b14e8a08b111dde151f1ed4d2d1da Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Thu, 2 Oct 2008 15:52:24 +0200 Subject: consolidated time calls during msg object creation ...this improves performance and consistency and also fixes a bug where subsecond time properties generated by imfile, imklog and internal messages could be slightly inconsistent. --- runtime/msg.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'runtime') diff --git a/runtime/msg.c b/runtime/msg.c index 6c1b9ff3..9c2e3f17 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -257,7 +257,16 @@ rsRetVal msgConstruct(msg_t **ppThis) pM->iRefCount = 1; pM->iSeverity = -1; pM->iFacility = -1; + + /* we initialize both timestamps to contain the current time, so that they + * are consistent. Also, this saves us from doing any further time calls just + * to obtain a timestamp. The memcpy() should not really make a difference, + * especially as I think there is no codepath currently where it would not be + * required (after I have cleaned up the pathes ;)). -- rgerhards, 2008-10-02 + */ datetime.getCurrTime(&(pM->tRcvdAt)); + memcpy(&pM->tTIMESTAMP, &pM->tRcvdAt, sizeof(struct syslogTime)); + objConstructSetObjInfo(pM); /* DEV debugging only! dbgprintf("msgConstruct\t0x%x, ref 1\n", (int)pM);*/ -- cgit