diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2011-07-04 16:00:26 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2011-07-04 16:00:26 +0200 |
commit | 460010068b1d46c23829e7106380ffb8527df949 (patch) | |
tree | d8fbd4284d6769f5659d5d4cd6c71d5509c03fa1 /grammar/utils.c | |
parent | bffa39ab9539c0e26dbbfb450f42de93638292e1 (diff) | |
download | rsyslog-460010068b1d46c23829e7106380ffb8527df949.tar.gz rsyslog-460010068b1d46c23829e7106380ffb8527df949.tar.bz2 rsyslog-460010068b1d46c23829e7106380ffb8527df949.zip |
milestone: strings and vars are now stored correctly in in-memory representation
Diffstat (limited to 'grammar/utils.c')
-rw-r--r-- | grammar/utils.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/grammar/utils.c b/grammar/utils.c index b04274c1..791a8967 100644 --- a/grammar/utils.c +++ b/grammar/utils.c @@ -481,6 +481,15 @@ cnfexprPrint(struct cnfexpr *expr, int indent) doIndent(indent); printf("%lld\n", ((struct cnfnumval*)expr)->val); break; + case 'V': + doIndent(indent); + printf("var '%s'\n", ((struct cnfvar*)expr)->name); + break; + case 'S': + doIndent(indent); + cstrPrint("string '", ((struct cnfstringval*)expr)->estr); + printf("'\n"); + break; case '+': case '-': case '*': @@ -522,6 +531,17 @@ cnfstringvalNew(es_str_t *estr) return strval; } +struct cnfvar* +cnfvarNew(char *name) +{ + struct cnfvar *var; + if((var = malloc(sizeof(struct cnfvar))) != NULL) { + var->nodetype = 'V'; + var->name = name; + } + return var; +} + struct cnfrule * cnfruleNew(enum cnfFiltType filttype, struct cnfactlst *actlst) { |