X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/838198455640d9339e91b31817ac5a9ae5d609a9..fcdfc43e1ff49b58d2a0b85d5f4beee634906ca6:/client/cmdparser.c diff --git a/client/cmdparser.c b/client/cmdparser.c index 6bb04164..1afeb930 100644 --- a/client/cmdparser.c +++ b/client/cmdparser.c @@ -1,3 +1,13 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2010 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Command parser +//----------------------------------------------------------------------------- + #include #include #include "ui.h" @@ -16,7 +26,7 @@ void CmdsHelp(const command_t Commands[]) } } -void CmdsParse(const command_t Commands[], const char *Cmd) +void CmdsParse(const command_t Commands[], char *Cmd) { char cmd_name[32]; int len = 0; @@ -40,9 +50,14 @@ void CmdsParse(const command_t Commands[], const char *Cmd) if(matches == 1) i=last_match; } - if (Commands[i].Name) + if (Commands[i].Name) { + while (Cmd[len] == ' ') + ++len; + while (Cmd[strlen(Cmd) - 1] == ' ') + Cmd[strlen(Cmd) - 1] = '\0'; Commands[i].Parse(Cmd + len); - else - // show help (always first in array) for selected hierarchy or if command not recognised + } else { + // show help for selected hierarchy or if command not recognised CmdsHelp(Commands); + } }