mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-27 06:31:54 +00:00 
			
		
		
		
	app_if: Fix next priority calculation.
Commitfa3922a4d2fixed a branching issue but "overshoots" when calculating the next priority. This fixes that; accompanying test suite tests have also been extended. Resolves: #560 (cherry picked from commitaa5b9d1d9f)
This commit is contained in:
		
				
					committed by
					
						 Asterisk Development Team
						Asterisk Development Team
					
				
			
			
				
	
			
			
			
						parent
						
							080602c6a1
						
					
				
				
					commit
					c1a495002f
				
			| @@ -286,9 +286,11 @@ static int if_helper(struct ast_channel *chan, const char *data, int end) | ||||
| 		snprintf(end_varname,sizeof(end_varname),"END_%s",varname); | ||||
| 		ast_channel_lock(chan); | ||||
| 		/* For EndIf, simply go to the next priority. | ||||
| 		 * We do not add 1 to ast_channel_priority because the dialplan will | ||||
| 		 * auto-increment the priority when we return, so just keep the priority as is. | ||||
| 		 * For ExitIf or false If() condition, we need to find the end of the current | ||||
| 		 * If branch (at same indentation) and branch there. */ | ||||
| 		endifpri = end == 2 ? ast_channel_priority(chan) + 1 : find_matching_endif(chan, NULL); | ||||
| 		endifpri = end == 2 ? ast_channel_priority(chan) : find_matching_endif(chan, NULL); | ||||
| 		if ((goto_str = pbx_builtin_getvar_helper(chan, end_varname))) { | ||||
| 			ast_parseable_goto(chan, goto_str); | ||||
| 			pbx_builtin_setvar_helper(chan, end_varname, NULL); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user