summaryrefslogtreecommitdiffstats
path: root/runtime/msg.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-03-31 17:08:01 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-03-31 17:08:01 +0200
commitb30e809a202ef42e59a6c9e455e17ce56c7894bc (patch)
tree23e0584c2a0cc1fecdd7f2c9af69f7482e7c915b /runtime/msg.c
parentb615cbaacec3d6f25e448362095ac54fcbe6d927 (diff)
parent945bc9bd0d9de984ab11b9faf609b809a1f3cb90 (diff)
downloadrsyslog-b30e809a202ef42e59a6c9e455e17ce56c7894bc.tar.gz
rsyslog-b30e809a202ef42e59a6c9e455e17ce56c7894bc.tar.xz
rsyslog-b30e809a202ef42e59a6c9e455e17ce56c7894bc.zip
Merge branch 'v5-devel'
Conflicts: configure.ac doc/manual.html doc/rsyslog_conf.html runtime/msg.c runtime/rsyslog.h template.c
Diffstat (limited to 'runtime/msg.c')
-rw-r--r--runtime/msg.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/runtime/msg.c b/runtime/msg.c
index ec132489..8016068b 100644
--- a/runtime/msg.c
+++ b/runtime/msg.c
@@ -449,6 +449,8 @@ rsRetVal propNameToID(cstr_t *pCSPropName, propid_t *pPropID)
*pPropID = PROP_CEE_ALL_JSON;
} else if(!strncmp((char*) pName, "$!", 2)) {
*pPropID = PROP_CEE;
+ } else if(!strcmp((char*) pName, "$bom")) {
+ *pPropID = PROP_SYS_BOM;
} else {
*pPropID = PROP_INVALID;
iRet = RS_RET_VAR_NOT_FOUND;
@@ -534,6 +536,8 @@ uchar *propIDToName(propid_t propID)
return UCHAR_CONSTANT("*CEE-based property*");
case PROP_CEE_ALL_JSON:
return UCHAR_CONSTANT("$!all-json");
+ case PROP_SYS_BOM:
+ return UCHAR_CONSTANT("$BOM");
default:
return UCHAR_CONSTANT("*invalid property id*");
}
@@ -2483,6 +2487,11 @@ uchar *MsgGetProp(msg_t *pMsg, struct templateEntry *pTpe,
break;
case PROP_CEE:
getCEEPropVal(pMsg, propName, &pRes, &bufLen, pbMustBeFreed);
+ case PROP_SYS_BOM:
+ if(*pbMustBeFreed == 1)
+ free(pRes);
+ pRes = (uchar*) "\xEF\xBB\xBF";
+ *pbMustBeFreed = 0;
break;
default:
/* there is no point in continuing, we may even otherwise render the