From: Joshua Colp Date: Mon, 11 Dec 2006 21:31:23 +0000 (+0000) Subject: Return non-existant callerid handling to that which it was before. In 1.4 and trunk... X-Git-Tag: 1.4.0-beta4~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8832f97a1f0e547478ca82e01fa5a1384e1ef684;p=thirdparty%2Fasterisk.git Return non-existant callerid handling to that which it was before. In 1.4 and trunk callerid can be allocated but not have any contents so we have to use ast_strlen_zero before passing it to the relevant functions. (issue #8567 reported by pabelanger) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48391 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index d24ec2a67c..3692ca44c5 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -2407,7 +2407,7 @@ static int imap_store_file(char *dir, char *mailboxuser, char *mailboxcontext, i ast_log(LOG_WARNING, "Unable to store '%s' (can't create temporary file)\n", fn); return -1; } else { - make_email_file(p, myserveremail, vmu, msgnum, vmu->context, vmu->mailbox, chan->cid.cid_num, chan->cid.cid_name, fn, fmt, duration, 1, chan, NULL, 1); + make_email_file(p, myserveremail, vmu, msgnum, vmu->context, vmu->mailbox, (!ast_strlen_zero(chan->cid.cid_num) ? chan->cid.cid_num : NULL), (!ast_strlen_zero(chan->cid.cid_name) ? chan->cid.cid_name : NULL), fn, fmt, duration, 1, chan, NULL, 1); /* read mail file to memory */ len = ftell(p); rewind(p); @@ -2641,7 +2641,7 @@ static int copy_message(struct ast_channel *chan, struct ast_vm_user *vmu, int i ast_log(LOG_ERROR, "Recipient mailbox %s@%s is full\n", recip->mailbox, recip->context); } ast_unlock_path(todir); - notify_new_message(chan, recip, recipmsgnum, duration, fmt, chan->cid.cid_num, chan->cid.cid_name); + notify_new_message(chan, recip, recipmsgnum, duration, fmt, (!ast_strlen_zero(chan->cid.cid_num) ? chan->cid.cid_num : NULL), (!ast_strlen_zero(chan->cid.cid_name) ? chan->cid.cid_name : NULL)); return 0; } @@ -3058,7 +3058,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, struct leave_vm_ chan->exten, chan->priority, chan->name, - ast_callerid_merge(callerid, sizeof(callerid), chan->cid.cid_name, chan->cid.cid_num, "Unknown"), + ast_callerid_merge(callerid, sizeof(callerid), (!ast_strlen_zero(chan->cid.cid_name) ? chan->cid.cid_name : NULL), (!ast_strlen_zero(chan->cid.cid_num) ? chan->cid.cid_num : NULL), "Unknown"), date, (long)time(NULL), category ? category : ""); } else @@ -3124,7 +3124,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, struct leave_vm_ #endif if (ast_fileexists(fn, NULL, NULL)) { STORE(dir, vmu->mailbox, vmu->context, msgnum, chan, vmu, fmt, duration, vms); - notify_new_message(chan, vmu, msgnum, duration, fmt, chan->cid.cid_num, chan->cid.cid_name); + notify_new_message(chan, vmu, msgnum, duration, fmt, (!ast_strlen_zero(chan->cid.cid_num) ? chan->cid.cid_num : NULL), (!ast_strlen_zero(chan->cid.cid_name) ? chan->cid.cid_name : NULL)); DISPOSE(dir, msgnum); } } @@ -4117,7 +4117,7 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st int attach_user_voicemail = ast_test_flag((&globalflags), VM_ATTACH); attach_user_voicemail = ast_test_flag(vmtmp, VM_ATTACH); /* NULL category for IMAP storage */ - sendmail(myserveremail, vmtmp, todircount, vmtmp->context, vmtmp->mailbox, chan->cid.cid_num, chan->cid.cid_name, vms->fn, fmt, duration, attach_user_voicemail, chan, NULL); + sendmail(myserveremail, vmtmp, todircount, vmtmp->context, vmtmp->mailbox, (!ast_strlen_zero(chan->cid.cid_num) ? chan->cid.cid_num : NULL), (!ast_strlen_zero(chan->cid.cid_name) ? chan->cid.cid_name : NULL), vms->fn, fmt, duration, attach_user_voicemail, chan, NULL); #else copy_message(chan, sender, 0, curmsg, duration, vmtmp, fmt); #endif