summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/datetime.c9
-rw-r--r--runtime/datetime.h1
-rw-r--r--runtime/msg.c10
-rw-r--r--runtime/msg.h4
4 files changed, 23 insertions, 1 deletions
diff --git a/runtime/datetime.c b/runtime/datetime.c
index 841ff625..3d50238c 100644
--- a/runtime/datetime.c
+++ b/runtime/datetime.c
@@ -626,6 +626,15 @@ finalize_it:
RETiRet;
}
+void
+applyDfltTZ(struct syslogTime *pTime, char *tz)
+{
+ pTime->OffsetMode = tz[0];
+ pTime->OffsetHour = (tz[1] - '0') * 10 + (tz[2] - '0');
+ pTime->OffsetMinute = (tz[4] - '0') * 10 + (tz[5] - '0');
+
+}
+
/*******************************************************************
* END CODE-LIBLOGGING *
*******************************************************************/
diff --git a/runtime/datetime.h b/runtime/datetime.h
index 9f3611e1..72c3a97f 100644
--- a/runtime/datetime.h
+++ b/runtime/datetime.h
@@ -62,5 +62,6 @@ ENDinterface(datetime)
/* prototypes */
PROTOTYPEObj(datetime);
+void applyDfltTZ(struct syslogTime *pTime, char *tz);
#endif /* #ifndef INCLUDED_DATETIME_H */
diff --git a/runtime/msg.c b/runtime/msg.c
index c7cd9406..14f03bbb 100644
--- a/runtime/msg.c
+++ b/runtime/msg.c
@@ -725,6 +725,7 @@ static inline rsRetVal msgBaseConstruct(msg_t **ppThis)
pM->pRuleset = NULL;
pM->json = NULL;
pM->localvars = NULL;
+ pM->dfltTZ[0] = '\0';
memset(&pM->tRcvdAt, 0, sizeof(pM->tRcvdAt));
memset(&pM->tTIMESTAMP, 0, sizeof(pM->tTIMESTAMP));
pM->TAG.pszTAG = NULL;
@@ -2248,6 +2249,15 @@ void MsgSetInputName(msg_t *pThis, prop_t *inputName)
pThis->pInputName = inputName;
}
+/* Set default TZ. Note that at most 7 chars are set, as we would
+ * otherwise overrun our buffer!
+ */
+void MsgSetDfltTZ(msg_t *pThis, char *tz)
+{
+ strncpy(pThis->dfltTZ, tz, 7);
+ pThis->dfltTZ[7] = '\0'; /* ensure 0-Term in case of overflow! */
+}
+
/* Set the pfrominet socket store, so that we can obtain the peer at some
* later time. Note that we do not check if pRcvFrom is already set, so this
diff --git a/runtime/msg.h b/runtime/msg.h
index 6b85042d..27283c9e 100644
--- a/runtime/msg.h
+++ b/runtime/msg.h
@@ -126,7 +126,8 @@ struct msg {
char pszRcvdAt_SecFrac[7]; /* same as above. Both are fractional seconds for their respective timestamp */
char pszTIMESTAMP_Unix[12]; /* almost as small as a pointer! */
char pszRcvdAt_Unix[12];
- uchar *pszUUID; /* The message's UUID */
+ char dfltTZ[8]; /* 7 chars max, less overhead than ptr! */
+ uchar *pszUUID; /* The message's UUID */
};
@@ -156,6 +157,7 @@ msg_t* MsgDup(msg_t* pOld);
msg_t *MsgAddRef(msg_t *pM);
void setProtocolVersion(msg_t *pM, int iNewVersion);
void MsgSetInputName(msg_t *pMsg, prop_t*);
+void MsgSetDfltTZ(msg_t *pThis, char *tz);
rsRetVal MsgSetAPPNAME(msg_t *pMsg, char* pszAPPNAME);
rsRetVal MsgSetPROCID(msg_t *pMsg, char* pszPROCID);
rsRetVal MsgSetMSGID(msg_t *pMsg, char* pszMSGID);