aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-20 20:53:16 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-20 20:53:16 +0000
commitfd8261af4548988e9bd69df93e3cb6692a8bfab6 (patch)
tree5c70affaf335d326769b549a282682e350326330 /channels
parent6f2e5448870a72b352c7fcb0e1547a85825145e9 (diff)
Make sure we clear the previously dialed number if it did not exist.
Issue 9958. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@70494 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_skinny.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index c4d2a98a5..bf642933e 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -2358,6 +2358,7 @@ static void *skinny_ss(void *data)
}
} else if (res == 0) {
ast_log(LOG_DEBUG, "Not enough digits (and no ambiguous match)...\n");
+ memset(d->exten, 0, sizeof(d->exten));
transmit_tone(s, SKINNY_REORDER);
if (sub->owner && sub->owner->_state != AST_STATE_UP) {
ast_indicate(c, -1);
@@ -2367,6 +2368,7 @@ static void *skinny_ss(void *data)
} else if (!ast_canmatch_extension(c, c->context, d->exten, 1, c->cid.cid_num) &&
((d->exten[0] != '*') || (!ast_strlen_zero(d->exten) > 2))) {
ast_log(LOG_WARNING, "Can't match [%s] from '%s' in context %s\n", d->exten, c->cid.cid_num ? c->cid.cid_num : "<Unknown Caller>", c->context);
+ memset(d->exten, 0, sizeof(d->exten));
transmit_tone(s, SKINNY_REORDER);
/* hang out for 3 seconds to let congestion play */
ast_safe_sleep(c, 3000);
@@ -2382,6 +2384,7 @@ static void *skinny_ss(void *data)
if (c)
ast_hangup(c);
+ memset(d->exten, 0, sizeof(d->exten));
return NULL;
}