summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2015-11-09 17:32:51 +0100
committerLemonBoy <thatlemon@gmail.com>2015-11-09 17:32:51 +0100
commit1006fee8027936c68e0f0b2f8dae766ad090764a (patch)
tree84c17a5349e776bfdfce17614540bf75b5cab25d
parent6d6e672e8e27469bd08704edb96c3e0fa9ef898f (diff)
downloadirssi-1006fee8027936c68e0f0b2f8dae766ad090764a.zip
Add an option to strip trailing whitespace when parsing commands
-rw-r--r--src/core/commands.c5
-rw-r--r--src/core/commands.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/core/commands.c b/src/core/commands.c
index 9e451bc8..0fb373c7 100644
--- a/src/core/commands.c
+++ b/src/core/commands.c
@@ -748,6 +748,11 @@ int cmd_get_params(const char *data, gpointer *free_me, int count, ...)
if (cnt == 0 && count & PARAM_FLAG_GETREST) {
/* get rest */
arg = datad;
+
+ /* strip the trailing whitespace */
+ if (count & PARAM_FLAG_STRIP_TRAILING_WS) {
+ arg = g_strchomp (arg);
+ }
} else {
arg = (count & PARAM_FLAG_NOQUOTES) ?
cmd_get_param(&datad) :
diff --git a/src/core/commands.h b/src/core/commands.h
index d65185e5..72105ad3 100644
--- a/src/core/commands.h
+++ b/src/core/commands.h
@@ -152,6 +152,8 @@ int command_have_option(const char *cmd, const char *option);
#define PARAM_FLAG_OPTCHAN 0x00010000
/* optional channel in first argument, but don't treat "*" as current channel */
#define PARAM_FLAG_OPTCHAN_NAME (0x00020000|PARAM_FLAG_OPTCHAN)
+/* strip the trailing whitespace */
+#define PARAM_FLAG_STRIP_TRAILING_WS 0x00040000
char *cmd_get_param(char **data);
char *cmd_get_quoted_param(char **data);