aboutsummaryrefslogtreecommitdiff
path: root/cmd-bind-key.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2015-04-19 14:44:56 +0100
committerThomas Adam <thomas@xteddy.org>2015-04-19 14:44:56 +0100
commit370cf75458e7736920559870d8ccff1d4bcee755 (patch)
tree417b6bf25806d5e5d1d5d87a39f2431b30a04ca2 /cmd-bind-key.c
parent5e956f114819294e03166e6c66128feb6e0571a2 (diff)
parent4a7587931ce54aa1a94a104480113d658c295b6b (diff)
downloadrtmux-370cf75458e7736920559870d8ccff1d4bcee755.tar.gz
rtmux-370cf75458e7736920559870d8ccff1d4bcee755.tar.bz2
rtmux-370cf75458e7736920559870d8ccff1d4bcee755.zip
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-bind-key.c')
-rw-r--r--cmd-bind-key.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/cmd-bind-key.c b/cmd-bind-key.c
index 5d68d486..47c58e51 100644
--- a/cmd-bind-key.c
+++ b/cmd-bind-key.c
@@ -104,18 +104,34 @@ cmd_bind_key_mode_table(struct cmd *self, struct cmd_q *cmdq, int key)
return (CMD_RETURN_ERROR);
}
- if (cmd != MODEKEYCOPY_COPYPIPE) {
- if (args->argc != 2) {
- cmdq_error(cmdq, "no argument allowed");
- return (CMD_RETURN_ERROR);
+ switch (cmd) {
+ case MODEKEYCOPY_APPENDSELECTION:
+ case MODEKEYCOPY_COPYSELECTION:
+ case MODEKEYCOPY_STARTNAMEDBUFFER:
+ if (args->argc == 2)
+ arg = NULL;
+ else {
+ arg = args->argv[2];
+ if (strcmp(arg, "-x") != 0) {
+ cmdq_error(cmdq, "unknown argument");
+ return (CMD_RETURN_ERROR);
+ }
}
- arg = NULL;
- } else {
+ break;
+ case MODEKEYCOPY_COPYPIPE:
if (args->argc != 3) {
cmdq_error(cmdq, "no argument given");
return (CMD_RETURN_ERROR);
}
arg = args->argv[2];
+ break;
+ default:
+ if (args->argc != 2) {
+ cmdq_error(cmdq, "no argument allowed");
+ return (CMD_RETURN_ERROR);
+ }
+ arg = NULL;
+ break;
}
mtmp.key = key;