From e27f9ec1f9b7901e61e75add6350eb1d06cf6202 Mon Sep 17 00:00:00 2001 From: markster Date: Sat, 25 Dec 1999 00:46:58 +0000 Subject: [PATCH] Version 0.1.2 from FTP git-svn-id: http://svn.digium.com/svn/asterisk/trunk@148 f38db490-d61c-443f-a65b-d21fe96a405b --- apps/app_dial.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/app_dial.c b/apps/app_dial.c index a8070e6fc..02ed8d344 100755 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -290,6 +290,7 @@ static int dial_exec(struct ast_channel *chan, void *data) int to; int allowredir=0; char numsubst[AST_MAX_EXTENSION]; + char restofit[AST_MAX_EXTENSION]; char *newnum; if (!data) { @@ -329,7 +330,8 @@ static int dial_exec(struct ast_channel *chan, void *data) strncpy(numsubst, number, sizeof(numsubst)); /* If we're dialing by extension, look at the extension to know what to dial */ if ((newnum = strstr(numsubst, "BYEXTENSION"))) { - snprintf(newnum, sizeof(numsubst) - (newnum - numsubst), "%s", chan->exten); + strncpy(restofit, newnum + strlen("BYEXTENSION"), sizeof(restofit)); + snprintf(newnum, sizeof(numsubst) - (newnum - numsubst), "%s%s", chan->exten,restofit); /* By default, if we're dialing by extension, don't permit redirecting */ tmp->allowredirect = 0; if (option_debug)