summaryrefslogtreecommitdiffstats
path: root/runtime/conf.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-06-26 15:31:40 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-06-26 15:31:40 +0200
commit7ea63db2f9d6b375dc95696e47357d73927f2d3d (patch)
tree2a250373f792b5604e151f059c803eb6a76a1776 /runtime/conf.c
parent1f361c5eb9028e7750a1c84811c9c3ac5cdd0a31 (diff)
downloadrsyslog-7ea63db2f9d6b375dc95696e47357d73927f2d3d.tar.gz
rsyslog-7ea63db2f9d6b375dc95696e47357d73927f2d3d.tar.xz
rsyslog-7ea63db2f9d6b375dc95696e47357d73927f2d3d.zip
optimization: propert names are now internally identified by integers
Diffstat (limited to 'runtime/conf.c')
-rw-r--r--runtime/conf.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/runtime/conf.c b/runtime/conf.c
index d70bc281..83ed2e9b 100644
--- a/runtime/conf.c
+++ b/runtime/conf.c
@@ -837,6 +837,7 @@ static rsRetVal cflineProcessPropFilter(uchar **pline, register rule_t *f)
{
rsParsObj *pPars;
cstr_t *pCSCompOp;
+ cstr_t *pCSPropName;
rsRetVal iRet;
int iOffset; /* for compare operations */
@@ -856,12 +857,19 @@ static rsRetVal cflineProcessPropFilter(uchar **pline, register rule_t *f)
}
/* read property */
- iRet = parsDelimCStr(pPars, &f->f_filterData.prop.pCSPropName, ',', 1, 1, 1);
+ iRet = parsDelimCStr(pPars, &pCSPropName, ',', 1, 1, 1);
if(iRet != RS_RET_OK) {
errmsg.LogError(0, iRet, "error %d parsing filter property - ignoring selector", iRet);
rsParsDestruct(pPars);
return(iRet);
}
+ iRet = propNameToID(pCSPropName, &f->f_filterData.prop.propID);
+ if(iRet != RS_RET_OK) {
+ errmsg.LogError(0, iRet, "error %d parsing filter property - ignoring selector", iRet);
+ rsParsDestruct(pPars);
+ return(iRet);
+ }
+ cstrDestruct(&pCSPropName);
/* read operation */
iRet = parsDelimCStr(pPars, &pCSCompOp, ',', 1, 1, 1);