summaryrefslogtreecommitdiffstats
path: root/grammar
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-07-21 17:45:39 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-07-21 17:45:39 +0200
commit052f8e2ef64ca039219ac83a9d9372f3eb3a5aed (patch)
treed2671048393a397a28a1b8ebe39088c4bcfa8da6 /grammar
parent35b71135033e1be0c7759167d8151533f98b93e9 (diff)
downloadrsyslog-052f8e2ef64ca039219ac83a9d9372f3eb3a5aed.tar.gz
rsyslog-052f8e2ef64ca039219ac83a9d9372f3eb3a5aed.tar.xz
rsyslog-052f8e2ef64ca039219ac83a9d9372f3eb3a5aed.zip
bugfix: abort in omfile (in brand-new code)
Diffstat (limited to 'grammar')
-rw-r--r--grammar/parserif.h3
-rw-r--r--grammar/rainerscript.c3
-rw-r--r--grammar/rainerscript.h2
3 files changed, 7 insertions, 1 deletions
diff --git a/grammar/parserif.h b/grammar/parserif.h
index 58b8fbdd..adb0f42f 100644
--- a/grammar/parserif.h
+++ b/grammar/parserif.h
@@ -3,10 +3,11 @@
#include "rainerscript.h"
int cnfSetLexFile(char*);
int yyparse();
-int yydebug;
char *cnfcurrfn;
void dbgprintf(char *fmt, ...) __attribute__((format(printf, 1, 2)));
void parser_errmsg(char *fmt, ...) __attribute__((format(printf, 1, 2)));
+extern int yydebug;
+extern int yylineno;
/* entry points to be called after the parser has processed the
* element in question. Actual processing must than be done inside
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c
index 0b2ee7cb..43c5a677 100644
--- a/grammar/rainerscript.c
+++ b/grammar/rainerscript.c
@@ -449,6 +449,8 @@ cnfactlstNew(enum cnfactType actType, struct nvlst *lst, char *actLine)
actlst->next = NULL;
actlst->syslines = NULL;
actlst->actType = actType;
+ actlst->lineno = yylineno;
+ actlst->cnfFile = strdup(cnfcurrfn);
if(actType == CNFACT_V2)
actlst->data.lst = lst;
else
@@ -484,6 +486,7 @@ cnfactlstDestruct(struct cnfactlst *actlst)
while(actlst != NULL) {
toDel = actlst;
actlst = actlst->next;
+ free(toDel->cnfFile);
cnfcfsyslinelstDestruct(toDel->syslines);
if(toDel->actType == CNFACT_V2)
nvlstDestruct(toDel->data.lst);
diff --git a/grammar/rainerscript.h b/grammar/rainerscript.h
index 7cc38abb..e11ae62f 100644
--- a/grammar/rainerscript.h
+++ b/grammar/rainerscript.h
@@ -86,6 +86,8 @@ struct cnfactlst {
struct nvlst *lst;
char *legActLine;
} data;
+ char *cnfFile;
+ int lineno;
};
/* the following structures support expressions, and may (very much later