From dd3cd993019d8798d77038e139ac508a04b76ed3 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sun, 8 Oct 2006 04:40:15 +0000 Subject: [PATCH] add more usage checking and return usage information on invalid usage of api commands. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2999 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../applications/mod_commands/mod_commands.c | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index 8d82a72ddd..1444308ae7 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -114,7 +114,7 @@ static switch_status_t ctl_function(char *data, switch_core_session_t *session, arg = 0; switch_core_session_ctl(SCSC_SHUTDOWN, &arg); } else { - stream->write_function(stream, "INVALID COMMAND [%s]\n", argv[0]); + stream->write_function(stream, "INVALID COMMAND [%s]\nUSAGE: fsctl [hupall|pause|resume|shutdown]\n", argv[0]); goto end; } @@ -136,6 +136,10 @@ static switch_status_t load_function(char *mod, switch_core_session_t *session, if (session) { return SWITCH_STATUS_FALSE; } + if (switch_strlen_zero(mod)) { + stream->write_function(stream, "USAGE: load \n"); + return SWITCH_STATUS_SUCCESS; + } switch_loadable_module_load_module((char *) SWITCH_GLOBAL_dirs.mod_dir, (char *) mod); stream->write_function(stream, "OK\n"); return SWITCH_STATUS_SUCCESS; @@ -167,7 +171,9 @@ static switch_status_t kill_function(char *dest, switch_core_session_t *isession return SWITCH_STATUS_FALSE; } - if (dest && (session = switch_core_session_locate(dest))) { + if (!dest) { + stream->write_function(stream, "USAGE: killchan \n"); + } else if ((session = switch_core_session_locate(dest))) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); switch_core_session_rwunlock(session); @@ -232,9 +238,11 @@ static switch_status_t uuid_bridge_function(char *cmd, switch_core_session_t *is argc = switch_separate_string(cmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); if (argc != 2) { - stream->write_function(stream, "Invalid Parameters\nUsage: uuid_bridge \n"); + stream->write_function(stream, "Invalid Parameters\nUSAGE: uuid_bridge \n"); } else { - switch_ivr_uuid_bridge(argv[0], argv[1]); + if (switch_ivr_uuid_bridge(argv[0], argv[1]) != SWITCH_STATUS_SUCCESS) { + stream->write_function(stream, "Invalid uuid\n"); + } } return SWITCH_STATUS_SUCCESS; @@ -293,8 +301,8 @@ static switch_status_t originate_function(char *cmd, switch_core_session_t *ises return SWITCH_STATUS_SUCCESS; } - if (switch_strlen_zero(cmd)) { - stream->write_function(stream, "Usage: originate [] [] [] [] []\n"); + if (switch_strlen_zero(cmd) || argc < 2 || argc > 7) { + stream->write_function(stream, "USAGE: originate |&() [] [] [] [] []\n"); return SWITCH_STATUS_SUCCESS; } @@ -446,7 +454,7 @@ static switch_status_t show_function(char *cmd, switch_core_session_t *session, } else { stream->write_function(stream, "Invalid interfaces type!\n"); - stream->write_function(stream, "Example:\n"); + stream->write_function(stream, "USAGE:\n"); stream->write_function(stream, "show |codec|application|api|dialplan|file|timer|calls|channels\n"); return SWITCH_STATUS_SUCCESS; }