diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-07 00:26:11 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-07 00:26:11 +0000 |
commit | d14a000502d4fcb60fbb8b29d8ec63ab6391097b (patch) | |
tree | 2075dca3df92c3d15ffea2dca9af3f77cad16f10 | |
parent | d8002fcc70d92e17394af8bff0a9f29105ca55a4 (diff) |
minor cleanups
- use appropriate types in some assignments
- use ast_strlen_zero()
- don't manually free cid fields since ast_set_callerid() will handle it
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@39058 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_zap.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index ad3d2281b..7863dfaa7 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -6020,7 +6020,7 @@ static void *ss_thread(void *data) chan->_state == AST_STATE_RINGING) break; /* Got ring */ } - dtmfbuf[i] = 0; + dtmfbuf[i] = '\0'; zt_setlinear(p->subs[index].zfd, p->subs[index].linear); /* Got cid and ring. */ ast_log(LOG_DEBUG, "CID got string '%s'\n", dtmfbuf); @@ -6028,10 +6028,10 @@ static void *ss_thread(void *data) ast_log(LOG_DEBUG, "CID is '%s', flags %d\n", dtmfcid, flags); /* If first byte is NULL, we have no cid */ - if (dtmfcid[0]) + if (!ast_strlen_zero(dtmfcid)) number = dtmfcid; else - number = 0; + number = NULL; /* If set to use V23 Signalling, launch our FSK gubbins and listen for it */ } else if ((p->cid_signalling == CID_SIG_V23) || (p->cid_signalling == CID_SIG_V23_JP)) { cs = callerid_new(p->cid_signalling); @@ -6396,24 +6396,17 @@ static void *ss_thread(void *data) } else cs = NULL; - if (number || name) { - if (chan->cid.cid_num) { - free(chan->cid.cid_num); - chan->cid.cid_num = NULL; - } - if (chan->cid.cid_name) { - free(chan->cid.cid_name); - chan->cid.cid_name = NULL; - } - } + if (number) ast_shrink_phone_number(number); - ast_set_callerid(chan, number, name, number); + if (smdi_msg) ASTOBJ_UNREF(smdi_msg, ast_smdi_md_message_destroy); + if (cs) callerid_free(cs); + ast_setstate(chan, AST_STATE_RING); chan->rings = 1; p->ringt = p->ringt_base; |