strip trailing space(s) (may have been added by readline)

This commit is contained in:
adam@algroup.co.uk 2010-03-07 15:25:48 +00:00
parent c6f1fb9dbd
commit fcdfc43e1f
2 changed files with 5 additions and 3 deletions

View file

@ -26,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]; char cmd_name[32];
int len = 0; int len = 0;
@ -53,9 +53,11 @@ void CmdsParse(const command_t Commands[], const char *Cmd)
if (Commands[i].Name) { if (Commands[i].Name) {
while (Cmd[len] == ' ') while (Cmd[len] == ' ')
++len; ++len;
while (Cmd[strlen(Cmd) - 1] == ' ')
Cmd[strlen(Cmd) - 1] = '\0';
Commands[i].Parse(Cmd + len); Commands[i].Parse(Cmd + len);
} else { } else {
// show help (always first in array) for selected hierarchy or if command not recognised // show help for selected hierarchy or if command not recognised
CmdsHelp(Commands); CmdsHelp(Commands);
} }
} }

View file

@ -24,6 +24,6 @@ typedef struct command_s
// Print help for each command in the command array // Print help for each command in the command array
void CmdsHelp(const command_t Commands[]); void CmdsHelp(const command_t Commands[]);
// Parse a command line // Parse a command line
void CmdsParse(const command_t Commands[], const char *Cmd); void CmdsParse(const command_t Commands[], char *Cmd);
#endif #endif