diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-10-02 00:58:31 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-10-02 00:58:31 +0000 |
commit | 6868babd229a635c5fd89c7b284025a92e0a3f9d (patch) | |
tree | 25a4ee6dff29d18acfdfbbc42485333db7aa5311 /channels/chan_modem_bestdata.c | |
parent | b201da1a3eb1cae654cdd3fe89ef8f9e55dd0b83 (diff) |
Huge callerid rework (might break H.323, others)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3874 f38db490-d61c-443f-a65b-d21fe96a405b
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) |