- if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
- /* Grab source from ANI or normal Caller*ID */
- char *num = c->cid.cid_ani ? c->cid.cid_ani : c->cid.cid_num; /* XXX ast_strlen_zero ? */
-
- if (c->cid.cid_name && num)
- snprintf(tmp, sizeof(tmp), "\"%s\" <%s>", c->cid.cid_name, num);
- else if (c->cid.cid_name)
- ast_copy_string(tmp, c->cid.cid_name, sizeof(tmp));
- else if (num)
- ast_copy_string(tmp, num, sizeof(tmp));
- ast_copy_string(cdr->clid, tmp, sizeof(cdr->clid));
- ast_copy_string(cdr->src, num ? num : "", sizeof(cdr->src));
- }