mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-30 02:26:23 +00:00
Fix build of new IVR stuff for GCC 2.96 and later gcc's too (bug #3639)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -34,8 +34,8 @@ static int ivr_demo_func(struct ast_channel *chan, void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ast_ivr_menu ivr_submenu = {
|
||||
"IVR Demo Sub Menu", 0, {
|
||||
AST_IVR_DECLARE_MENU(ivr_submenu, "IVR Demo Sub Menu", 0,
|
||||
{
|
||||
{ "s", AST_ACTION_BACKGROUND, "demo-abouttotry" },
|
||||
{ "1", AST_ACTION_PLAYBACK, "digits/1" },
|
||||
{ "1", AST_ACTION_PLAYBACK, "digits/1" },
|
||||
@@ -43,11 +43,11 @@ static struct ast_ivr_menu ivr_submenu = {
|
||||
{ "2", AST_ACTION_PLAYLIST, "digits/2;digits/3" },
|
||||
{ "*", AST_ACTION_REPEAT },
|
||||
{ "#", AST_ACTION_UPONE },
|
||||
{ NULL },
|
||||
}};
|
||||
{ NULL }
|
||||
});
|
||||
|
||||
static struct ast_ivr_menu ivr_demo = {
|
||||
"IVR Demo Main Menu", 0, {
|
||||
AST_IVR_DECLARE_MENU(ivr_demo, "IVR Demo Main Menu", 0,
|
||||
{
|
||||
{ "s", AST_ACTION_BACKGROUND, "demo-congrats" },
|
||||
{ "g", AST_ACTION_BACKGROUND, "demo-instruct" },
|
||||
{ "g", AST_ACTION_WAITOPTION },
|
||||
@@ -59,7 +59,7 @@ static struct ast_ivr_menu ivr_demo = {
|
||||
{ "i", AST_ACTION_REPEAT, (void *)2 },
|
||||
{ "#", AST_ACTION_EXIT },
|
||||
{ NULL },
|
||||
}};
|
||||
});
|
||||
|
||||
STANDARD_LOCAL_USER;
|
||||
|
||||
|
@@ -59,9 +59,14 @@ struct ast_ivr_option {
|
||||
struct ast_ivr_menu {
|
||||
char *title; /* Title of menu */
|
||||
unsigned int flags; /* Flags */
|
||||
struct ast_ivr_option options[]; /* All options */
|
||||
struct ast_ivr_option *options; /* All options */
|
||||
};
|
||||
|
||||
#define AST_IVR_DECLARE_MENU(holder,title,flags,foo...) \
|
||||
static struct ast_ivr_option __options_##holder[] = foo;\
|
||||
static struct ast_ivr_menu holder = { title, flags, __options_##holder }
|
||||
|
||||
|
||||
/*! Runs an IVR menu, returns 0 on successful completion, -1 on hangup, or -2 on user error in menu */
|
||||
extern int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, void *cbdata);
|
||||
|
||||
|
Reference in New Issue
Block a user