From b11c63b0c2b0992b2069ee2192f7d8c015988b01 Mon Sep 17 00:00:00 2001
From: Matteo Brancaleoni <mbrancaleoni@espia.it>
Date: Tue, 18 Mar 2003 19:55:35 +0000
Subject: [PATCH] mar mar 18 20:55:27 CET 2003

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 pbx.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/pbx.c b/pbx.c
index 1115580aa0..bfd4402f31 100755
--- a/pbx.c
+++ b/pbx.c
@@ -689,16 +689,14 @@ static void pbx_substitute_variables_temp(struct ast_channel *c,char *cp3,char *
         /* Now we have the variable name on cp3 */
 	if ((first=strchr(cp3,':'))) {
 		*first='\0';
+		pbx_substitute_variables_temp(c,cp3,cp4);
+		if (!(*cp4)) return;
 		offset=atoi(first+1);
 	 	if ((second=strchr(first+1,':'))) {
 			*second='\0';
 			offset2=atoi(second+1);
-		} else {
-			offset2=offset;
-			offset=0;
-		}
-		pbx_substitute_variables_temp(c,cp3,cp4);
-		if (!(*cp4)) return;
+		} else
+			offset2=strlen(*cp4)-offset;
 		if (abs(offset)>strlen(*cp4)) {
 			if (offset>=0) offset=strlen(*cp4);
 			else offset=-strlen(*cp4);
-- 
GitLab