From: Kinsey Moore Date: Thu, 15 Aug 2013 16:29:56 +0000 (+0000) Subject: Remove leading spaces from the CLI command before parsing X-Git-Tag: 11.6.0-rc1~3^2~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3dcbd04a948251f58b78f3760541fc129e829ce8;p=thirdparty%2Fasterisk.git Remove leading spaces from the CLI command before parsing If you've mistakenly put a space before typing in a command, the leading space will be included as part of the command, and the command parser will not find the corresponding command. This patch rectifies that situation by stripping the leading spaces on commands. Review: https://reviewboard.asterisk.org/r/2709/ Patch-by: Tilghman Lesher ........ Merged revisions 396745 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@396746 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/asterisk.c b/main/asterisk.c index a734897b97..4493445aec 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -1977,6 +1977,11 @@ static int remoteconsolehandler(char *s) /* Called when readline data is available */ if (!ast_all_zeros(s)) ast_el_add_history(s); + + while (isspace(*s)) { + s++; + } + /* The real handler for bang */ if (s[0] == '!') { if (s[1]) diff --git a/main/cli.c b/main/cli.c index d64fd14360..5e6263d386 100644 --- a/main/cli.c +++ b/main/cli.c @@ -2299,6 +2299,13 @@ static char *parse_args(const char *s, int *argc, const char *argv[], int max, i return NULL; cur = duplicate; + + /* Remove leading spaces from the command */ + while (isspace(*s)) { + cur++; + s++; + } + /* scan the original string copying into cur when needed */ for (; *s ; s++) { if (x >= max - 1) {