cdr_adaptive_odbc: Also apply a filter when the CDR value is empty.

Extra CDR records are written if a filtered CDR value is empty because the
filter is not checked.

(closes issue ASTERISK-22272)
Reported by: Jordi Llull Chavarria
........

Merged revisions 401577 from http://svn.asterisk.org/svn/asterisk/branches/1.8


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@401579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Richard Mudgett
2013-10-23 16:46:26 +00:00
parent c932415383
commit 4e5291c1db

View File

@@ -711,6 +711,14 @@ static int odbc_log(struct ast_cdr *cdr)
continue;
}
first = 0;
} else if (entry->filtervalue
&& ((!entry->negatefiltervalue && entry->filtervalue[0] != '\0')
|| (entry->negatefiltervalue && entry->filtervalue[0] == '\0'))) {
ast_verb(4, "CDR column '%s' was not set and does not match filter of"
" %s'%s'. Cancelling this CDR.\n",
entry->cdrname, entry->negatefiltervalue ? "!" : "",
entry->filtervalue);
goto early_release;
}
}