https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r70949 | murf | 2007-06-21 16:34:41 -0600 (Thu, 21 Jun 2007) | 9 lines
Merged revisions 70948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r70948 | murf | 2007-06-21 16:29:50 -0600 (Thu, 21 Jun 2007) | 1 line
This little fix is in response to bug 10016, but may not cure it. The code is wrong, clearly. In a situation where you set the CDR's amaflags, and then ForkCDR, and then set the new CDR's amaflags to some other value, you will see that all CDRs have had their amaflags changed. This is not good. So I fixed it.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70951
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
struct ast_cdr *cdr;
int newflag = ast_cdr_amaflags2int(flag);
if (newflag) {
- for (cdr = chan->cdr; cdr; cdr = cdr->next)
- cdr->amaflags = newflag;
+ for (cdr = chan->cdr; cdr; cdr = cdr->next) {
+ if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
+ cdr->amaflags = newflag;
+ }
+ }
}
return 0;