diff options
author | Mark Spencer <markster@digium.com> | 2004-10-02 00:58:31 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2004-10-02 00:58:31 +0000 |
commit | 04fc29c8b2e7db9b66a138f47412770867819f7f (patch) | |
tree | 25a4ee6dff29d18acfdfbbc42485333db7aa5311 /channels/chan_modem_bestdata.c | |
parent | 9b926b1d644c49c0e8bbe7cbc02aeb60ccc3c8ef (diff) |
Huge callerid rework (might break H.323, others)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_modem_bestdata.c')
-rwxr-xr-x | channels/chan_modem_bestdata.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/channels/chan_modem_bestdata.c b/channels/chan_modem_bestdata.c index ddcb72018..f923e478a 100755 --- a/channels/chan_modem_bestdata.c +++ b/channels/chan_modem_bestdata.c @@ -201,13 +201,14 @@ static struct ast_frame *bestdata_handle_escape(struct ast_modem_pvt *p, char es p->gotclid = 1; if ((!strcmp(name,"O")) || (!strcmp(name,"P"))) name[0] = 0; if ((!strcmp(nmbr,"O")) || (!strcmp(nmbr,"P"))) nmbr[0] = 0; - if ((name[0]) && (nmbr[0])) snprintf(p->cid,sizeof(p->cid), - "\"%s\" <%s>",name,nmbr); - else if (name[0]) snprintf(p->cid,sizeof(p->cid), - "\"%s\"",name); - else if (nmbr[0]) snprintf(p->cid,sizeof(p->cid), - "%s",nmbr); - if (p->owner) p->owner->callerid = strdup(p->cid); + if (name[0]) + strncpy(p->cid_name, name, sizeof(p->cid_name) - 1); + if (nmbr[0]) + strncpy(p->cid_num, nmbr, sizeof(p->cid_num) - 1); + if (p->owner) { + p->owner->cid.cid_num = strdup(p->cid_num); + p->owner->cid.cid_name = strdup(p->cid_name); + } return &p->fr; case '@': /* response from "OK" in command mode */ if (p->owner) |