From 84a5921ab53336a83725c920409d8cb2d5209a8c Mon Sep 17 00:00:00 2001 From: Luigi Rizzo <rizzo@icir.org> Date: Thu, 16 Nov 2006 14:21:30 +0000 Subject: [PATCH] make kevin (and 64 bit machines) happy and remove a cast from char* to int in handling the return values from new-style handlers. On passing, note that main/loader.c::ast_load_resource() always return 0 so errors are not propagated up. I am not sure this is the intended behaviour. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47727 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/cli.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/main/cli.c b/main/cli.c index f69f90b14a..2dc6afa1fe 100644 --- a/main/cli.c +++ b/main/cli.c @@ -1649,9 +1649,16 @@ int ast_cli_command(int fd, const char *s) */ args[0] = (char *)e; if (e->new_handler) { /* new style */ + char *retval; struct ast_cli_args a = { .fd = fd, .argc = x, .argv = args+1 }; - res = (int)e->new_handler(e, CLI_HANDLER, &a); + retval = e->new_handler(e, CLI_HANDLER, &a); + if (retval == CLI_SUCCESS) + res = RESULT_SUCCESS; + else if (retval == CLI_SHOWUSAGE) + res = RESULT_SHOWUSAGE; + else + res = RESULT_FAILURE; } else { /* old style */ res = e->handler(fd, x, args + 1); } @@ -1662,6 +1669,9 @@ int ast_cli_command(int fd, const char *s) else ast_cli(fd, "Invalid usage, but no usage information available.\n"); break; + case RESULT_FAILURE: + ast_cli(fd, "Command '%s' failed.\n", s); + /* FALLTHROUGH */ default: AST_LIST_LOCK(&helpers); if (e->deprecated == 1) { -- GitLab