From: Sebastian Gutierrez Date: Tue, 21 Mar 2017 17:32:06 +0000 (-0300) Subject: cdr: Allow setting of user field from 'h' extension X-Git-Tag: 14.5.0-rc1~82^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24420b6676ad202386fa290ce0b19d0a49b8a4f6;p=thirdparty%2Fasterisk.git cdr: Allow setting of user field from 'h' extension The CDR code previously did not allow the user field to be set from the 'h' extension in the dialplan. This change removes that limitation and allows it to be set. ASTERISK-26818 Change-Id: I0fed8a79b5e408bac4e30542b8f33a61c5ed9aa6 --- diff --git a/main/cdr.c b/main/cdr.c index baa17b9672..005f68cbfc 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -3253,7 +3253,7 @@ static int cdr_object_update_party_b_userfield_cb(void *obj, void *arg, int flag struct party_b_userfield_update *info = arg; struct cdr_object *it_cdr; for (it_cdr = cdr; it_cdr; it_cdr = it_cdr->next) { - if (it_cdr->fn_table == &finalized_state_fn_table) { + if (it_cdr->fn_table == &finalized_state_fn_table && it_cdr->next != NULL) { continue; } if (it_cdr->party_b.snapshot @@ -3277,7 +3277,7 @@ void ast_cdr_setuserfield(const char *channel_name, const char *userfield) if (cdr) { ao2_lock(cdr); for (it_cdr = cdr; it_cdr; it_cdr = it_cdr->next) { - if (it_cdr->fn_table == &finalized_state_fn_table) { + if (it_cdr->fn_table == &finalized_state_fn_table && it_cdr->next != NULL) { continue; } strcpy(it_cdr->party_a.userfield, userfield);