diff options
Diffstat (limited to 'src/helper')
-rw-r--r-- | src/helper/command.c | 10 | ||||
-rw-r--r-- | src/helper/command.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index df12ffc1..87ddf839 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -37,6 +37,8 @@ #include <stdio.h> #include <unistd.h> +void command_print_help_line(command_context_t* context, struct command_s *command, int indent); + int handle_sleep_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); int build_unique_lengths(command_context_t *context, command_t *commands) @@ -345,7 +347,13 @@ int find_and_run_command(command_context_t *context, command_t *commands, char * } else { - return c->handler(context, c->name, words + start_word + 1, num_words - start_word - 1); + int retval = c->handler(context, c->name, words + start_word + 1, num_words - start_word - 1); + if (retval == ERROR_COMMAND_SYNTAX_ERROR) + { + command_print(context, "Syntax error:"); + command_print_help_line(context, c, 0); + } + return retval; } } else diff --git a/src/helper/command.h b/src/helper/command.h index 262786a8..de90d4ae 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -63,5 +63,6 @@ extern int command_run_file(command_context_t *context, FILE *file, enum command #define ERROR_COMMAND_CLOSE_CONNECTION (-600) +#define ERROR_COMMAND_SYNTAX_ERROR (-601) #endif /* COMMAND_H */ |