summaryrefslogtreecommitdiffstats
path: root/syslogd.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-02-21 13:27:51 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2008-02-21 13:27:51 +0000
commit04622f7d2210cbb8036502afadf5bcdcb0394d28 (patch)
tree1ba5f0321aaf86f6050193dd8283d85a7f4acd39 /syslogd.c
parent1cc790fae01e4392d4cf96820f6402528f611c44 (diff)
downloadrsyslog-04622f7d2210cbb8036502afadf5bcdcb0394d28.tar.gz
rsyslog-04622f7d2210cbb8036502afadf5bcdcb0394d28.tar.xz
rsyslog-04622f7d2210cbb8036502afadf5bcdcb0394d28.zip
first steps in implementing object interfaces (stage work for later dynamic
class loading)
Diffstat (limited to 'syslogd.c')
-rw-r--r--syslogd.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/syslogd.c b/syslogd.c
index 1f5d885c..c39e37cf 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -173,6 +173,10 @@
#include "vmop.h"
#include "vmprg.h"
+/* definitions for objects we access */
+DEFobjCurrIf(expr)
+
+
/* We define our own set of syslog defintions so that we
* do not need to rely on (possibly different) implementations.
* 2007-07-19 rgerhards
@@ -1002,7 +1006,7 @@ selectorDestruct(void *pVal)
rsCStrDestruct(&pThis->f_filterData.prop.pCSCompValue);
} else if(pThis->f_filter_type == FILTER_EXPR) {
if(pThis->f_filterData.f_expr != NULL)
- exprDestruct(&pThis->f_filterData.f_expr);
+ expr.Destruct(&pThis->f_filterData.f_expr);
}
llDestroy(&pThis->llActList);
@@ -3413,6 +3417,10 @@ static rsRetVal InitGlobalClasses(void)
DEFiRet;
CHKiRet(objClassInit()); /* *THIS* *MUST* always be the first class initilizer being called! */
+ /* dummy "classes" */
+ CHKiRet(confClassInit());
+
+ /* real ones */
CHKiRet(msgClassInit());
CHKiRet(strmClassInit());
CHKiRet(wtiClassInit());
@@ -3425,6 +3433,9 @@ static rsRetVal InitGlobalClasses(void)
CHKiRet(ctokClassInit());
CHKiRet(exprClassInit());
+ /* request objects we use */
+ CHKiRet(objUse(expr));
+
finalize_it:
RETiRet;
}