From fcdfc43e1ff49b58d2a0b85d5f4beee634906ca6 Mon Sep 17 00:00:00 2001
From: "adam@algroup.co.uk"
 <adam@algroup.co.uk@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Date: Sun, 7 Mar 2010 15:25:48 +0000
Subject: [PATCH] strip trailing space(s) (may have been added by readline)

---
 client/cmdparser.c | 6 ++++--
 client/cmdparser.h | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/client/cmdparser.c b/client/cmdparser.c
index 4f6e2463..1afeb930 100644
--- a/client/cmdparser.c
+++ b/client/cmdparser.c
@@ -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];
   int len = 0;
@@ -53,9 +53,11 @@ void CmdsParse(const command_t Commands[], const char *Cmd)
   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
+    // show help for selected hierarchy or if command not recognised
     CmdsHelp(Commands);
   }
 }
diff --git a/client/cmdparser.h b/client/cmdparser.h
index 28c2e66e..1002df8b 100644
--- a/client/cmdparser.h
+++ b/client/cmdparser.h
@@ -24,6 +24,6 @@ typedef struct command_s
 // Print help for each command in the command array
 void CmdsHelp(const command_t Commands[]);
 // Parse a command line
-void CmdsParse(const command_t Commands[], const char *Cmd);
+void CmdsParse(const command_t Commands[], char *Cmd);
 
 #endif
-- 
2.39.5