]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Remove leading spaces from the CLI command before parsing
authorKinsey Moore <kmoore@digium.com>
Thu, 15 Aug 2013 16:37:06 +0000 (16:37 +0000)
committerKinsey Moore <kmoore@digium.com>
Thu, 15 Aug 2013 16:37:06 +0000 (16:37 +0000)
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
........

Merged revisions 396746 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396747 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c
main/cli.c

index beed0108312b4e1b9678afdb3d0076f2b13a62f1..07186f655fb3fd3f11f48066db5cad2a6eb241d1 100644 (file)
@@ -2112,6 +2112,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])
index dd9f3bcd0792ae85d87ba4fd3bf6630c046242ed..54efd6f4cd767a5e4c434619fc4d5cb53a02a3a1 100644 (file)
@@ -2292,6 +2292,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) {