diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-11-11 12:00:11 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-11-11 12:00:11 +0100 |
commit | 4cfbf894fd0caebaf65e1b7ffcb5725a530cf67d (patch) | |
tree | b92ab2dbac3bbec2f007e97a35d7efb374733563 /template.c | |
parent | b104759ad671a1ae92f2768de02f1dbbe5f4cb12 (diff) | |
download | rsyslog-4cfbf894fd0caebaf65e1b7ffcb5725a530cf67d.tar.gz rsyslog-4cfbf894fd0caebaf65e1b7ffcb5725a530cf67d.tar.bz2 rsyslog-4cfbf894fd0caebaf65e1b7ffcb5725a530cf67d.zip |
enhance: regex nomatch option "ZERO" has been added
This allows to return the string 0 if a regular expression is
not found. This is probably useful for storing numerical values into
database columns.
Diffstat (limited to 'template.c')
-rw-r--r-- | template.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -558,13 +558,17 @@ static int do_Parameter(unsigned char **pp, struct template *pTpl) pTpe->data.field.nomatchAction = TPL_REGEX_NOMATCH_USE_DFLTSTR; p += 4; /* eat indicator sequence */ } else if(p[0] == 'B' && p[1] == 'L' && p[2] == 'A' && p[3] == 'N' && p[4] == 'K' - && (p[5] == ',' || p[5] == ':')) { + && (p[5] == ',' || p[5] == ':')) { pTpe->data.field.nomatchAction = TPL_REGEX_NOMATCH_USE_BLANK; p += 5; /* eat indicator sequence */ } else if(p[0] == 'F' && p[1] == 'I' && p[2] == 'E' && p[3] == 'L' && p[4] == 'D' - && (p[5] == ',' || p[5] == ':')) { + && (p[5] == ',' || p[5] == ':')) { pTpe->data.field.nomatchAction = TPL_REGEX_NOMATCH_USE_WHOLE_FIELD; p += 5; /* eat indicator sequence */ + } else if(p[0] == 'Z' && p[1] == 'E' && p[2] == 'R' && p[3] == 'O' + && (p[4] == ',' || p[4] == ':')) { + pTpe->data.field.nomatchAction = TPL_REGEX_NOMATCH_USE_ZERO; + p += 4; /* eat indicator sequence */ } else if(p[0] == ',') { /* empty, use default */ pTpe->data.field.nomatchAction = TPL_REGEX_NOMATCH_USE_DFLTSTR; /* do NOT eat indicator sequence, as this was already eaten - the |