diff options
Diffstat (limited to 'pbx/pbx_ael.c')
-rw-r--r-- | pbx/pbx_ael.c | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/pbx/pbx_ael.c b/pbx/pbx_ael.c index cffa65f40..fa4b7d516 100644 --- a/pbx/pbx_ael.c +++ b/pbx/pbx_ael.c @@ -146,7 +146,7 @@ static int pbx_load_module(void) } /* CLI interface */ -static char *handle_cli_ael_debug_multiple(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +static char *handle_cli_ael_debug_multiple_deprecated(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { switch (cmd) { case CLI_INIT: @@ -180,6 +180,40 @@ static char *handle_cli_ael_debug_multiple(struct ast_cli_entry *e, int cmd, str return CLI_SUCCESS; } +static char *handle_cli_ael_set_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +{ + switch (cmd) { + case CLI_INIT: + e->command = "ael set debug {read|tokens|macros|contexts|off}"; + e->usage = + "Usage: ael debug {read|tokens|macros|contexts|off}\n" + " Enable AEL read, token, macro, or context debugging,\n" + " or disable all AEL debugging messages. Note: this\n" + " currently does nothing.\n"; + return NULL; + case CLI_GENERATE: + return NULL; + } + + if (a->argc != e->args) + return CLI_SHOWUSAGE; + + if (!strcasecmp(a->argv[3], "read")) + aeldebug |= DEBUG_READ; + else if (!strcasecmp(a->argv[3], "tokens")) + aeldebug |= DEBUG_TOKENS; + else if (!strcasecmp(a->argv[3], "macros")) + aeldebug |= DEBUG_MACROS; + else if (!strcasecmp(a->argv[3], "contexts")) + aeldebug |= DEBUG_CONTEXTS; + else if (!strcasecmp(a->argv[3], "off")) + aeldebug = 0; + else + return CLI_SHOWUSAGE; + + return CLI_SUCCESS; +} + static char *handle_cli_ael_reload(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { switch (cmd) { @@ -199,9 +233,10 @@ static char *handle_cli_ael_reload(struct ast_cli_entry *e, int cmd, struct ast_ return (pbx_load_module() ? CLI_FAILURE : CLI_SUCCESS); } +static struct ast_cli_entry cli_ael_debug_multiple_deprecated = AST_CLI_DEFINE(handle_cli_ael_debug_multiple_deprecated, "Enable AEL debugging flags"); static struct ast_cli_entry cli_ael[] = { - AST_CLI_DEFINE(handle_cli_ael_reload, "Reload AEL configuration"), - AST_CLI_DEFINE(handle_cli_ael_debug_multiple, "Enable AEL debugging flags") + AST_CLI_DEFINE(handle_cli_ael_reload, "Reload AEL configuration"), + AST_CLI_DEFINE(handle_cli_ael_set_debug, "Enable AEL debugging flags", .deprecate_cmd = &cli_ael_debug_multiple_deprecated) }; static int unload_module(void) |