From 02ea1d97657ed81797e02ef80c7f89195cf82a27 Mon Sep 17 00:00:00 2001 From: Miloslav Trmač Date: Sat, 11 Aug 2012 09:52:53 +0200 Subject: Add support for optional JSON fields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These fields are only relevant in field templates (i.e. mongodb): a field for a non-existent CEE property is not created (instead of being set to an empty string). Signed-off-by: Miloslav Trmač --- template.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'template.c') diff --git a/template.c b/template.c index d9ca0710..298f813c 100644 --- a/template.c +++ b/template.c @@ -669,6 +669,8 @@ static void doOptions(unsigned char **pp, struct templateEntry *pTpe) } else { pTpe->data.field.options.bJSONf = 1; } + } else if(!strcmp((char*)Buf, "optional-field")) { + pTpe->data.field.options.bOptionalField = 1; } else { dbgprintf("Invalid field option '%s' specified - ignored.\n", Buf); } @@ -1984,6 +1986,9 @@ void tplPrintList(rsconf_t *conf) if(pTpe->data.field.options.bJSONf) { dbgprintf("[format as JSON field] "); } + if(pTpe->data.field.options.bOptionalField) { + dbgprintf("[optional field - skip in field template if not present] "); + } if(pTpe->data.field.options.bDropLastLF) { dbgprintf("[drop last LF in msg] "); } -- cgit