From a03db324dd87bc7f61f50423b2efae7ba71a6f56 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Wed, 23 Jun 2004 00:06:46 +0000
Subject: [PATCH] Tilghman's directory fix (bug #1892)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_directory.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/apps/app_directory.c b/apps/app_directory.c
index cd164e55c8..d3d899c86c 100755
--- a/apps/app_directory.c
+++ b/apps/app_directory.c
@@ -267,6 +267,9 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
 					case '1':
 						/* user pressed '1' and extensions exists */
 						lastuserchoice = res;
+						strncpy(chan->context, dialcontext, sizeof(chan->context) - 1);
+						strncpy(chan->exten, v->name, sizeof(chan->exten) - 1);
+						chan->priority = 0;
 						break;
 					case '*':
 						/* user pressed '*' to skip something found */
@@ -289,7 +292,7 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
 				res = 1;
 			return res;
 		}
-		
+		return 0;
 	}
 	return res;
 }
@@ -301,7 +304,7 @@ static int directory_exec(struct ast_channel *chan, void *data)
 	struct ast_config *cfg;
 	char *context, *dialcontext, *dirintro;
 	if (!data) {
-		ast_log(LOG_WARNING, "directory requires an argument (context)\n");
+		ast_log(LOG_WARNING, "directory requires an argument (context[,dialcontext])\n");
 		return -1;
 	}
 	cfg = ast_load(DIRECTORY_CONFIG);
-- 
GitLab