[asterisk-commits] seanbright: branch group/1.6.1-maintenance r264904 - in /team/group/1.6.1-mai...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu May 20 19:44:54 CDT 2010


Author: seanbright
Date: Thu May 20 19:44:52 2010
New Revision: 264904

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=264904
Log:
Merged revisions 264752,264779,264828 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
  r264752 | tilghman | 2010-05-20 17:28:53 -0400 (Thu, 20 May 2010) | 7 lines
  
  Error message fix.
  
  (closes issue #17356)
   Reported by: kenner
   Patches: 
         app_stack.c.diff uploaded by kenner (license 1040)
................
  r264779 | tilghman | 2010-05-20 18:23:32 -0400 (Thu, 20 May 2010) | 8 lines
  
  Let ExtensionState resolve dynamic hints.
  
  (closes issue #16623)
   Reported by: tilghman
   Patches: 
         20100116__issue16623.diff.txt uploaded by tilghman (license 14)
   Tested by: lmadsen
................
  r264828 | rmudgett | 2010-05-20 19:29:43 -0400 (Thu, 20 May 2010) | 13 lines
  
  Merged revisions 264820 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r264820 | rmudgett | 2010-05-20 18:23:21 -0500 (Thu, 20 May 2010) | 6 lines
    
    ast_callerid_parse() had a path that left name uninitialized.
    
    Several callers of ast_callerid_parse() do not initialize the name
    parameter before calling thus there is the potential to use an
    uninitialized pointer.
  ........
................

Modified:
    team/group/1.6.1-maintenance/   (props changed)
    team/group/1.6.1-maintenance/apps/app_stack.c
    team/group/1.6.1-maintenance/main/callerid.c
    team/group/1.6.1-maintenance/main/pbx.c

Propchange: team/group/1.6.1-maintenance/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: team/group/1.6.1-maintenance/apps/app_stack.c
URL: http://svnview.digium.com/svn/asterisk/team/group/1.6.1-maintenance/apps/app_stack.c?view=diff&rev=264904&r1=264903&r2=264904
==============================================================================
--- team/group/1.6.1-maintenance/apps/app_stack.c (original)
+++ team/group/1.6.1-maintenance/apps/app_stack.c Thu May 20 19:44:52 2010
@@ -299,7 +299,7 @@
 
 	if (!ast_exists_extension(chan, chan->context, chan->exten, ast_test_flag(chan, AST_FLAG_IN_AUTOLOOP) ? chan->priority + 1 : chan->priority, chan->cid.cid_num)) {
 		ast_log(LOG_ERROR, "Attempt to reach a non-existent destination for gosub: (Context:%s, Extension:%s, Priority:%d)\n",
-				chan->context, chan->exten, chan->priority);
+				chan->context, chan->exten, ast_test_flag(chan, AST_FLAG_IN_AUTOLOOP) ? chan->priority + 1 : chan->priority);
 		ast_copy_string(chan->context, newframe->context, sizeof(chan->context));
 		ast_copy_string(chan->exten, newframe->extension, sizeof(chan->exten));
 		chan->priority = newframe->priority;

Modified: team/group/1.6.1-maintenance/main/callerid.c
URL: http://svnview.digium.com/svn/asterisk/team/group/1.6.1-maintenance/main/callerid.c?view=diff&rev=264904&r1=264903&r2=264904
==============================================================================
--- team/group/1.6.1-maintenance/main/callerid.c (original)
+++ team/group/1.6.1-maintenance/main/callerid.c Thu May 20 19:44:52 2010
@@ -1022,6 +1022,8 @@
 				*ns = '\0';
 				*name = ns + 1;
 				ast_trim_blanks(*name);
+			} else {
+				*name = NULL;
 			}
 		} else { /* no quotes, trim off leading and trailing spaces */
 			*name = ast_skip_blanks(instr);

Modified: team/group/1.6.1-maintenance/main/pbx.c
URL: http://svnview.digium.com/svn/asterisk/team/group/1.6.1-maintenance/main/pbx.c?view=diff&rev=264904&r1=264903&r2=264904
==============================================================================
--- team/group/1.6.1-maintenance/main/pbx.c (original)
+++ team/group/1.6.1-maintenance/main/pbx.c Thu May 20 19:44:52 2010
@@ -3348,7 +3348,18 @@
 	if (!e)
 		return -1;				/* No hint, return -1 */
 
-	return ast_extension_state2(e);    		/* Check all devices in the hint */
+	if (e->exten[0] == '_') {
+		/* Create this hint on-the-fly */
+		ast_add_extension(e->parent->name, 0, exten, e->priority, e->label,
+			e->matchcid ? e->cidmatch : NULL, e->app, ast_strdup(e->data), ast_free_ptr,
+			e->registrar);
+		if (!(e = ast_hint_extension(c, context, exten))) {
+			/* Improbable, but not impossible */
+			return -1;
+		}
+	}
+
+	return ast_extension_state2(e);  /* Check all devices in the hint */
 }
 
 static int handle_statechange(void *datap)




More information about the asterisk-commits mailing list