aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_modem_bestdata.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-02 00:58:31 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-02 00:58:31 +0000
commit6868babd229a635c5fd89c7b284025a92e0a3f9d (patch)
tree25a4ee6dff29d18acfdfbbc42485333db7aa5311 /channels/chan_modem_bestdata.c
parentb201da1a3eb1cae654cdd3fe89ef8f9e55dd0b83 (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-xchannels/chan_modem_bestdata.c15
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)