From a261bdc235632d2b2e2fe20ad95f59a4b7b2341f Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Sat, 25 Dec 1999 00:46:58 +0000
Subject: [PATCH] Version 0.1.2 from FTP

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 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 a8070e6fc1..02ed8d3447 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)
-- 
GitLab