pbx: Create pbx_include.c for management of 'struct ast_include'.
authorCorey Farrell <git@cfware.com>
Thu, 14 Jul 2016 18:51:42 +0000 (14:51 -0400)
committerCorey Farrell <git@cfware.com>
Fri, 15 Jul 2016 09:34:29 +0000 (05:34 -0400)
commitbe36bd7ca565531c09ca444e59b6d057131a9ab0
tree85595a26df4bbfcfc39a78c5c2474984c8c894ce
parent273052f40498378d3f2d3548347a243df68ee9a4
pbx: Create pbx_include.c for management of 'struct ast_include'.

This changes context includes from a linked list to a vector, makes
'struct ast_include' opaque to pbx.c.

Although ast_walk_context_includes is maintained the procedure is no
longer efficient except for the first call (inc==NULL).  This
functionality is replaced by two new functions implemented by vector
macros.
* ast_context_includes_count (AST_VECTOR_SIZE)
* ast_context_includes_get (AST_VECTOR_GET)

As with ast_walk_context_includes callers of these functions are
expected to have locked contexts.  Only a few places in Asterisk walked
the includes, they have been converted to use the new functions.

const have been applied where possible to parameters for ast_include
functions.

Change-Id: Ib5c882e27cf96fb2aec67a39c18b4c71c9c83b60
apps/app_macro.c
apps/app_while.c
include/asterisk/pbx.h
main/pbx.c
main/pbx_include.c [new file with mode: 0644]
main/pbx_private.h
pbx/pbx_config.c
res/ael/pval.c
utils/conf2ael.c
utils/extconf.c