diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-04-19 14:44:56 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-04-19 14:44:56 +0100 |
commit | 370cf75458e7736920559870d8ccff1d4bcee755 (patch) | |
tree | 417b6bf25806d5e5d1d5d87a39f2431b30a04ca2 /cmd-bind-key.c | |
parent | 5e956f114819294e03166e6c66128feb6e0571a2 (diff) | |
parent | 4a7587931ce54aa1a94a104480113d658c295b6b (diff) | |
download | rtmux-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.c | 28 |
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; |