]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
My conditions for merging amaflags info was naive; DOCUMENTATION is the default,...
authorSteve Murphy <murf@digium.com>
Fri, 22 Jun 2007 14:10:24 +0000 (14:10 +0000)
committerSteve Murphy <murf@digium.com>
Fri, 22 Jun 2007 14:10:24 +0000 (14:10 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@71063 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/cdr.c

index 54aab40a5f3ebf41605571b649e20f494b6f4c2b..5c2f9cb3db7122e011ca23bfc407a421b504a14c 100644 (file)
@@ -576,17 +576,18 @@ void ast_cdr_merge(struct ast_cdr *to, struct ast_cdr *from)
                ast_copy_string(to->dst, from->dst, sizeof(to->dst));
                from->dst[0] = 0; /* theft */
        }
-       if (ast_test_flag(from, AST_CDR_FLAG_LOCKED) || (!to->amaflags && from->amaflags)) {
+       if (!to->amaflags)
+               to->amaflags = AST_CDR_DOCUMENTATION;
+       if (!from->amaflags)
+               from->amaflags = AST_CDR_DOCUMENTATION; /* make sure both amaflags are set to something (DOC is default) */
+       if (ast_test_flag(from, AST_CDR_FLAG_LOCKED) || (to->amaflags == AST_CDR_DOCUMENTATION && from->amaflags != AST_CDR_DOCUMENTATION)) {
                to->amaflags = from->amaflags;
-               from->amaflags = 0; /* theft */
        }
        if (ast_test_flag(from, AST_CDR_FLAG_LOCKED) || (ast_strlen_zero(to->accountcode) && !ast_strlen_zero(from->accountcode))) {
                ast_copy_string(to->accountcode, from->accountcode, sizeof(to->accountcode));
-               from->accountcode[0] = 0; /* theft */
        }
        if (ast_test_flag(from, AST_CDR_FLAG_LOCKED) || (ast_strlen_zero(to->userfield) && !ast_strlen_zero(from->userfield))) {
                ast_copy_string(to->userfield, from->userfield, sizeof(to->userfield));
-               from->userfield[0] = 0; /* theft */
        }
        /* flags, varsead, ? */
        cdr_merge_vars(from, to);