diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-11-13 19:53:30 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-11-13 19:53:30 +0000 |
commit | 3ee92a020aed88a5644dc7b00c460cc967397175 (patch) | |
tree | a97c30cdd0880c77ae7f568a17f5805e06d35cea | |
parent | 878aa8206770fdeeb3c49d9796de7bb6f8b839a5 (diff) |
Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the
command entry structs and a couple of functions to check/set the flags.
81 files changed, 266 insertions, 266 deletions
diff --git a/usr.bin/tmux/cmd-attach-session.c b/usr.bin/tmux/cmd-attach-session.c index 310f7a1eb9e..f1f7bf62c71 100644 --- a/usr.bin/tmux/cmd-attach-session.c +++ b/usr.bin/tmux/cmd-attach-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-attach-session.c,v 1.9 2009/11/11 08:00:42 nicm Exp $ */ +/* $OpenBSD: cmd-attach-session.c,v 1.10 2009/11/13 19:53:28 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_attach_session_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_attach_session_entry = { "attach-session", "attach", "[-d] " CMD_TARGET_SESSION_USAGE, - CMD_CANTNEST|CMD_STARTSERVER|CMD_SENDENVIRON, CMD_CHFLAG('d'), + CMD_CANTNEST|CMD_STARTSERVER|CMD_SENDENVIRON, "d", cmd_target_init, cmd_target_parse, cmd_attach_session_exec, @@ -58,7 +58,7 @@ cmd_attach_session_exec(struct cmd *self, struct cmd_ctx *ctx) return (0); if (ctx->cmdclient == NULL) { - if (data->chflags & CMD_CHFLAG('d')) { + if (cmd_check_flag(data->chflags, 'd')) { /* * Can't use server_write_session in case attaching to * the same session as currently attached to. @@ -89,7 +89,7 @@ cmd_attach_session_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); } - if (data->chflags & CMD_CHFLAG('d')) + if (cmd_check_flag(data->chflags, 'd')) server_write_session(s, MSG_DETACH, NULL, 0); ctx->cmdclient->session = s; diff --git a/usr.bin/tmux/cmd-bind-key.c b/usr.bin/tmux/cmd-bind-key.c index 4b075c19e34..f716d198162 100644 --- a/usr.bin/tmux/cmd-bind-key.c +++ b/usr.bin/tmux/cmd-bind-key.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-bind-key.c,v 1.5 2009/07/28 17:05:10 nicm Exp $ */ +/* $OpenBSD: cmd-bind-key.c,v 1.6 2009/11/13 19:53:28 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -46,7 +46,7 @@ struct cmd_bind_key_data { const struct cmd_entry cmd_bind_key_entry = { "bind-key", "bind", "[-cnr] [-t key-table] key command [arguments]", - 0, 0, + 0, "", NULL, cmd_bind_key_parse, cmd_bind_key_exec, diff --git a/usr.bin/tmux/cmd-break-pane.c b/usr.bin/tmux/cmd-break-pane.c index 76f4c8daa26..0d168c508c4 100644 --- a/usr.bin/tmux/cmd-break-pane.c +++ b/usr.bin/tmux/cmd-break-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-break-pane.c,v 1.7 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-break-pane.c,v 1.8 2009/11/13 19:53:28 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_break_pane_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_break_pane_entry = { "break-pane", "breakp", CMD_TARGET_PANE_USAGE " [-d]", - 0, CMD_CHFLAG('d'), + 0, "d", cmd_target_init, cmd_target_parse, cmd_break_pane_exec, @@ -74,7 +74,7 @@ cmd_break_pane_exec(struct cmd *self, struct cmd_ctx *ctx) base_idx = options_get_number(&s->options, "base-index"); wl = session_attach(s, w, -1 - base_idx, &cause); /* can't fail */ - if (!(data->chflags & CMD_CHFLAG('d'))) + if (!cmd_check_flag(data->chflags, 'd')) session_select(s, wl->idx); server_redraw_session(s); diff --git a/usr.bin/tmux/cmd-choose-client.c b/usr.bin/tmux/cmd-choose-client.c index 06c277ea2b3..7ba040a3ea3 100644 --- a/usr.bin/tmux/cmd-choose-client.c +++ b/usr.bin/tmux/cmd-choose-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-choose-client.c,v 1.3 2009/09/07 21:01:50 nicm Exp $ */ +/* $OpenBSD: cmd-choose-client.c,v 1.4 2009/11/13 19:53:28 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -34,7 +34,7 @@ void cmd_choose_client_free(void *); const struct cmd_entry cmd_choose_client_entry = { "choose-client", NULL, CMD_TARGET_WINDOW_USAGE " [template]", - CMD_ARG01, 0, + CMD_ARG01, "", cmd_target_init, cmd_target_parse, cmd_choose_client_exec, diff --git a/usr.bin/tmux/cmd-choose-session.c b/usr.bin/tmux/cmd-choose-session.c index 3b2cf6df772..7f0d502d2c5 100644 --- a/usr.bin/tmux/cmd-choose-session.c +++ b/usr.bin/tmux/cmd-choose-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-choose-session.c,v 1.8 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-choose-session.c,v 1.9 2009/11/13 19:53:28 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -34,7 +34,7 @@ void cmd_choose_session_free(void *); const struct cmd_entry cmd_choose_session_entry = { "choose-session", NULL, CMD_TARGET_WINDOW_USAGE " [template]", - CMD_ARG01, 0, + CMD_ARG01, "", cmd_target_init, cmd_target_parse, cmd_choose_session_exec, diff --git a/usr.bin/tmux/cmd-choose-window.c b/usr.bin/tmux/cmd-choose-window.c index 82b9a811f35..c63094932f6 100644 --- a/usr.bin/tmux/cmd-choose-window.c +++ b/usr.bin/tmux/cmd-choose-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-choose-window.c,v 1.10 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-choose-window.c,v 1.11 2009/11/13 19:53:28 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -34,7 +34,7 @@ void cmd_choose_window_free(void *); const struct cmd_entry cmd_choose_window_entry = { "choose-window", NULL, CMD_TARGET_WINDOW_USAGE " [template]", - CMD_ARG01, 0, + CMD_ARG01, "", cmd_target_init, cmd_target_parse, cmd_choose_window_exec, diff --git a/usr.bin/tmux/cmd-clear-history.c b/usr.bin/tmux/cmd-clear-history.c index 6b9f1a70058..ffb88022f6a 100644 --- a/usr.bin/tmux/cmd-clear-history.c +++ b/usr.bin/tmux/cmd-clear-history.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-clear-history.c,v 1.6 2009/07/30 17:29:12 nicm Exp $ */ +/* $OpenBSD: cmd-clear-history.c,v 1.7 2009/11/13 19:53:28 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_clear_history_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_clear_history_entry = { "clear-history", "clearhist", CMD_TARGET_PANE_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_clear_history_exec, diff --git a/usr.bin/tmux/cmd-clock-mode.c b/usr.bin/tmux/cmd-clock-mode.c index 5f7c29e3f14..4b502d244d2 100644 --- a/usr.bin/tmux/cmd-clock-mode.c +++ b/usr.bin/tmux/cmd-clock-mode.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-clock-mode.c,v 1.4 2009/08/18 16:21:04 nicm Exp $ */ +/* $OpenBSD: cmd-clock-mode.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_clock_mode_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_clock_mode_entry = { "clock-mode", NULL, CMD_TARGET_PANE_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_clock_mode_exec, diff --git a/usr.bin/tmux/cmd-command-prompt.c b/usr.bin/tmux/cmd-command-prompt.c index dc4e8e4c2a9..ca3aa567e27 100644 --- a/usr.bin/tmux/cmd-command-prompt.c +++ b/usr.bin/tmux/cmd-command-prompt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-command-prompt.c,v 1.11 2009/09/21 15:32:06 nicm Exp $ */ +/* $OpenBSD: cmd-command-prompt.c,v 1.12 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -39,7 +39,7 @@ void cmd_command_prompt_cfree(void *); const struct cmd_entry cmd_command_prompt_entry = { "command-prompt", NULL, CMD_TARGET_CLIENT_USAGE " [-p prompts] [template]", - 0, 0, + 0, "", cmd_command_prompt_init, cmd_command_prompt_parse, cmd_command_prompt_exec, diff --git a/usr.bin/tmux/cmd-confirm-before.c b/usr.bin/tmux/cmd-confirm-before.c index b920a0979d4..1c5ca9e91de 100644 --- a/usr.bin/tmux/cmd-confirm-before.c +++ b/usr.bin/tmux/cmd-confirm-before.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-confirm-before.c,v 1.8 2009/08/23 16:45:00 nicm Exp $ */ +/* $OpenBSD: cmd-confirm-before.c,v 1.9 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org> @@ -34,7 +34,7 @@ void cmd_confirm_before_free(void *); const struct cmd_entry cmd_confirm_before_entry = { "confirm-before", "confirm", CMD_TARGET_CLIENT_USAGE " command", - CMD_ARG1, 0, + CMD_ARG1, "", cmd_confirm_before_init, cmd_target_parse, cmd_confirm_before_exec, diff --git a/usr.bin/tmux/cmd-copy-buffer.c b/usr.bin/tmux/cmd-copy-buffer.c index 6e93375afb0..238a2cc2c8e 100644 --- a/usr.bin/tmux/cmd-copy-buffer.c +++ b/usr.bin/tmux/cmd-copy-buffer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-copy-buffer.c,v 1.5 2009/09/21 15:32:06 nicm Exp $ */ +/* $OpenBSD: cmd-copy-buffer.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org> @@ -43,7 +43,7 @@ struct cmd_copy_buffer_data { const struct cmd_entry cmd_copy_buffer_entry = { "copy-buffer", "copyb", "[-a src-index] [-b dst-index] [-s src-session] [-t dst-session]", - 0, 0, + 0, "", cmd_copy_buffer_init, cmd_copy_buffer_parse, cmd_copy_buffer_exec, diff --git a/usr.bin/tmux/cmd-copy-mode.c b/usr.bin/tmux/cmd-copy-mode.c index 2795dcf8649..559a11a2085 100644 --- a/usr.bin/tmux/cmd-copy-mode.c +++ b/usr.bin/tmux/cmd-copy-mode.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-copy-mode.c,v 1.7 2009/10/06 07:19:32 nicm Exp $ */ +/* $OpenBSD: cmd-copy-mode.c,v 1.8 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -30,7 +30,7 @@ int cmd_copy_mode_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_copy_mode_entry = { "copy-mode", NULL, "[-u] " CMD_TARGET_PANE_USAGE, - 0, CMD_CHFLAG('u'), + 0, "u", cmd_copy_mode_init, cmd_target_parse, cmd_copy_mode_exec, @@ -48,7 +48,7 @@ cmd_copy_mode_init(struct cmd *self, int key) switch (key) { case KEYC_PPAGE: - data->chflags |= CMD_CHFLAG('u'); + cmd_set_flag(&data->chflags, 'u'); break; } } @@ -63,7 +63,7 @@ cmd_copy_mode_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); window_pane_set_mode(wp, &window_copy_mode); - if (wp->mode == &window_copy_mode && data->chflags & CMD_CHFLAG('u')) + if (wp->mode == &window_copy_mode && cmd_check_flag(data->chflags, 'u')) window_copy_pageup(wp); return (0); diff --git a/usr.bin/tmux/cmd-delete-buffer.c b/usr.bin/tmux/cmd-delete-buffer.c index de9de2156a6..68eacf02968 100644 --- a/usr.bin/tmux/cmd-delete-buffer.c +++ b/usr.bin/tmux/cmd-delete-buffer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-delete-buffer.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-delete-buffer.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_delete_buffer_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_delete_buffer_entry = { "delete-buffer", "deleteb", CMD_BUFFER_SESSION_USAGE, - 0, 0, + 0, "", cmd_buffer_init, cmd_buffer_parse, cmd_delete_buffer_exec, diff --git a/usr.bin/tmux/cmd-detach-client.c b/usr.bin/tmux/cmd-detach-client.c index 334338282ad..77a30d294fb 100644 --- a/usr.bin/tmux/cmd-detach-client.c +++ b/usr.bin/tmux/cmd-detach-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-detach-client.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-detach-client.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_detach_client_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_detach_client_entry = { "detach-client", "detach", CMD_TARGET_CLIENT_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_detach_client_exec, diff --git a/usr.bin/tmux/cmd-display-message.c b/usr.bin/tmux/cmd-display-message.c index b32af0cf3ee..fcfe1749743 100644 --- a/usr.bin/tmux/cmd-display-message.c +++ b/usr.bin/tmux/cmd-display-message.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-display-message.c,v 1.3 2009/10/10 15:03:01 nicm Exp $ */ +/* $OpenBSD: cmd-display-message.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org> @@ -31,7 +31,7 @@ int cmd_display_message_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_display_message_entry = { "display-message", "display", CMD_TARGET_CLIENT_USAGE " [message]", - CMD_ARG01, 0, + CMD_ARG01, "", cmd_target_init, cmd_target_parse, cmd_display_message_exec, diff --git a/usr.bin/tmux/cmd-display-panes.c b/usr.bin/tmux/cmd-display-panes.c index d95282529f7..4c751dc14ce 100644 --- a/usr.bin/tmux/cmd-display-panes.c +++ b/usr.bin/tmux/cmd-display-panes.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-display-panes.c,v 1.1 2009/08/31 20:46:19 nicm Exp $ */ +/* $OpenBSD: cmd-display-panes.c,v 1.2 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_display_panes_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_display_panes_entry = { "display-panes", "displayp", CMD_TARGET_CLIENT_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_display_panes_exec, diff --git a/usr.bin/tmux/cmd-down-pane.c b/usr.bin/tmux/cmd-down-pane.c index a436da5de5f..c7f573f8e65 100644 --- a/usr.bin/tmux/cmd-down-pane.c +++ b/usr.bin/tmux/cmd-down-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-down-pane.c,v 1.6 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-down-pane.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_down_pane_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_down_pane_entry = { "down-pane", "downp", CMD_TARGET_WINDOW_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_down_pane_exec, diff --git a/usr.bin/tmux/cmd-find-window.c b/usr.bin/tmux/cmd-find-window.c index 0e2d876b42d..d9cdb62796c 100644 --- a/usr.bin/tmux/cmd-find-window.c +++ b/usr.bin/tmux/cmd-find-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-find-window.c,v 1.5 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-find-window.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -34,7 +34,7 @@ void cmd_find_window_callback(void *, int); const struct cmd_entry cmd_find_window_entry = { "find-window", "findw", CMD_TARGET_WINDOW_USAGE " match-string", - CMD_ARG1, 0, + CMD_ARG1, "", cmd_target_init, cmd_target_parse, cmd_find_window_exec, diff --git a/usr.bin/tmux/cmd-generic.c b/usr.bin/tmux/cmd-generic.c index 5b459dfa5bf..e7c35ca352e 100644 --- a/usr.bin/tmux/cmd-generic.c +++ b/usr.bin/tmux/cmd-generic.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-generic.c,v 1.7 2009/08/26 18:09:52 nicm Exp $ */ +/* $OpenBSD: cmd-generic.c,v 1.8 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -23,8 +23,8 @@ #include "tmux.h" -int cmd_getopt(int, char **, const char *, uint64_t); -int cmd_flags(int, uint64_t, uint64_t *); +int cmd_getopt(int, char **, const char *, const char *); +int cmd_parse_flags(int, const char *, uint64_t *); size_t cmd_print_flags(char *, size_t, size_t, uint64_t); int cmd_fill_argument(int, char **, char **, int, char **); @@ -36,51 +36,53 @@ cmd_prarg(char *buf, size_t len, const char *prefix, char *arg) return (xsnprintf(buf, len, "%s%s", prefix, arg)); } -/* Prepend flags from chflags onto flagstr and call getopt. */ +/* Append two flag strings together and call getopt. */ int -cmd_getopt(int argc, char **argv, const char *flagstr, uint64_t chflags) +cmd_getopt(int argc, char **argv, const char *flagstr, const char *chflagstr) { - u_char ch; - char buf[128]; - size_t len, off; - - *buf = '\0'; + char tmp[BUFSIZ]; - len = sizeof buf; - off = 0; + if (strlcpy(tmp, flagstr, sizeof tmp) >= sizeof tmp) + fatalx("strlcpy overflow"); + if (strlcat(tmp, chflagstr, sizeof tmp) >= sizeof tmp) + fatalx("strlcat overflow"); + return (getopt(argc, argv, tmp)); +} - for (ch = 0; ch < 26; ch++) { - if (chflags & CMD_CHFLAG('a' + ch)) - off += xsnprintf(buf + off, len - off, "%c", 'a' + ch); - if (chflags & CMD_CHFLAG('A' + ch)) - off += xsnprintf(buf + off, len - off, "%c", 'A' + ch); - } - - strlcat(buf, flagstr, sizeof buf); +/* Return if flag character is set. */ +int +cmd_check_flag(uint64_t chflags, int flag) +{ + if (flag >= 'A' && flag <= 'Z') + flag = 26 + flag - 'A'; + else if (flag >= 'a' && flag <= 'z') + flag = flag - 'a'; + else + return (0); + return ((chflags & (1ULL << flag)) != 0); +} - return (getopt(argc, argv, buf)); +/* Set flag character. */ +void +cmd_set_flag(uint64_t *chflags, int flag) +{ + if (flag >= 'A' && flag <= 'Z') + flag = 26 + flag - 'A'; + else if (flag >= 'a' && flag <= 'z') + flag = flag - 'a'; + else + return; + (*chflags) |= (1ULL << flag); } -/* - * If this option is expected (in ichflags), set it in ochflags, otherwise - * return -1. - */ +/* If this option is expected, set it in chflags, otherwise return -1. */ int -cmd_flags(int opt, uint64_t ichflags, uint64_t *ochflags) +cmd_parse_flags(int opt, const char *chflagstr, uint64_t *chflags) { - u_char ch; - - for (ch = 0; ch < 26; ch++) { - if (opt == 'a' + ch && ichflags & CMD_CHFLAG(opt)) { - (*ochflags) |= CMD_CHFLAG(opt); - return (0); - } - if (opt == 'A' + ch && ichflags & CMD_CHFLAG(opt)) { - (*ochflags) |= CMD_CHFLAG(opt); - return (0); - } - } - return (-1); + if (strchr(chflagstr, opt) == NULL) + return (-1); + cmd_set_flag(chflags, opt); + return (0); } /* Print the flags supported in chflags. */ @@ -95,9 +97,9 @@ cmd_print_flags(char *buf, size_t len, size_t off, uint64_t chflags) off += xsnprintf(buf + off, len - off, " -"); for (ch = 0; ch < 26; ch++) { - if (chflags & CMD_CHFLAG('a' + ch)) + if (cmd_check_flag(chflags, 'a' + ch)) off += xsnprintf(buf + off, len - off, "%c", 'a' + ch); - if (chflags & CMD_CHFLAG('A' + ch)) + if (cmd_check_flag(chflags, 'A' + ch)) off += xsnprintf(buf + off, len - off, "%c", 'A' + ch); } return (off - boff); @@ -170,7 +172,7 @@ cmd_target_parse(struct cmd *self, int argc, char **argv, char **cause) data = self->data; while ((opt = cmd_getopt(argc, argv, "t:", entry->chflags)) != -1) { - if (cmd_flags(opt, entry->chflags, &data->chflags) == 0) + if (cmd_parse_flags(opt, entry->chflags, &data->chflags) == 0) continue; switch (opt) { case 't': @@ -253,7 +255,7 @@ cmd_srcdst_parse(struct cmd *self, int argc, char **argv, char **cause) data = self->data; while ((opt = cmd_getopt(argc, argv, "s:t:", entry->chflags)) != -1) { - if (cmd_flags(opt, entry->chflags, &data->chflags) == 0) + if (cmd_parse_flags(opt, entry->chflags, &data->chflags) == 0) continue; switch (opt) { case 's': @@ -345,7 +347,7 @@ cmd_buffer_parse(struct cmd *self, int argc, char **argv, char **cause) data = self->data; while ((opt = cmd_getopt(argc, argv, "b:t:", entry->chflags)) != -1) { - if (cmd_flags(opt, entry->chflags, &data->chflags) == 0) + if (cmd_parse_flags(opt, entry->chflags, &data->chflags) == 0) continue; switch (opt) { case 'b': diff --git a/usr.bin/tmux/cmd-has-session.c b/usr.bin/tmux/cmd-has-session.c index 62c7c431b9f..18878c23fb2 100644 --- a/usr.bin/tmux/cmd-has-session.c +++ b/usr.bin/tmux/cmd-has-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-has-session.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-has-session.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_has_session_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_has_session_entry = { "has-session", "has", CMD_TARGET_SESSION_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_has_session_exec, diff --git a/usr.bin/tmux/cmd-if-shell.c b/usr.bin/tmux/cmd-if-shell.c index 190bc65e8cb..ecb6a12657d 100644 --- a/usr.bin/tmux/cmd-if-shell.c +++ b/usr.bin/tmux/cmd-if-shell.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-if-shell.c,v 1.6 2009/11/01 23:20:37 nicm Exp $ */ +/* $OpenBSD: cmd-if-shell.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org> @@ -36,7 +36,7 @@ void cmd_if_shell_free(void *); const struct cmd_entry cmd_if_shell_entry = { "if-shell", "if", "shell-command command", - CMD_ARG2, 0, + CMD_ARG2, "", cmd_target_init, cmd_target_parse, cmd_if_shell_exec, diff --git a/usr.bin/tmux/cmd-kill-pane.c b/usr.bin/tmux/cmd-kill-pane.c index 17b7f71c618..41c1c771e96 100644 --- a/usr.bin/tmux/cmd-kill-pane.c +++ b/usr.bin/tmux/cmd-kill-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-kill-pane.c,v 1.8 2009/10/24 10:12:39 nicm Exp $ */ +/* $OpenBSD: cmd-kill-pane.c,v 1.9 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_kill_pane_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_kill_pane_entry = { "kill-pane", "killp", "[-a] " CMD_TARGET_PANE_USAGE, - 0, CMD_CHFLAG('a'), + 0, "a", cmd_target_init, cmd_target_parse, cmd_kill_pane_exec, @@ -56,7 +56,7 @@ cmd_kill_pane_exec(struct cmd *self, struct cmd_ctx *ctx) return (0); } - if (data->chflags & CMD_CHFLAG('a')) { + if (cmd_check_flag(data->chflags, 'a')) { loopwp = TAILQ_FIRST(&wl->window->panes); while (loopwp != NULL) { nextwp = TAILQ_NEXT(loopwp, entry); diff --git a/usr.bin/tmux/cmd-kill-server.c b/usr.bin/tmux/cmd-kill-server.c index 8ace8e1b975..496fb09a488 100644 --- a/usr.bin/tmux/cmd-kill-server.c +++ b/usr.bin/tmux/cmd-kill-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-kill-server.c,v 1.4 2009/11/04 20:50:11 nicm Exp $ */ +/* $OpenBSD: cmd-kill-server.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_kill_server_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_kill_server_entry = { "kill-server", NULL, "", - 0, 0, + 0, "", NULL, NULL, cmd_kill_server_exec, diff --git a/usr.bin/tmux/cmd-kill-session.c b/usr.bin/tmux/cmd-kill-session.c index 112cf679a5d..6149bd4d1ef 100644 --- a/usr.bin/tmux/cmd-kill-session.c +++ b/usr.bin/tmux/cmd-kill-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-kill-session.c,v 1.4 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-kill-session.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_kill_session_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_kill_session_entry = { "kill-session", NULL, CMD_TARGET_SESSION_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_kill_session_exec, diff --git a/usr.bin/tmux/cmd-kill-window.c b/usr.bin/tmux/cmd-kill-window.c index e54f6161133..599513ad547 100644 --- a/usr.bin/tmux/cmd-kill-window.c +++ b/usr.bin/tmux/cmd-kill-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-kill-window.c,v 1.6 2009/09/20 17:27:18 nicm Exp $ */ +/* $OpenBSD: cmd-kill-window.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_kill_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_kill_window_entry = { "kill-window", "killw", CMD_TARGET_WINDOW_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_kill_window_exec, diff --git a/usr.bin/tmux/cmd-last-window.c b/usr.bin/tmux/cmd-last-window.c index 973ff3c79af..af07a556ead 100644 --- a/usr.bin/tmux/cmd-last-window.c +++ b/usr.bin/tmux/cmd-last-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-last-window.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-last-window.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_last_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_last_window_entry = { "last-window", "last", CMD_TARGET_SESSION_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_last_window_exec, diff --git a/usr.bin/tmux/cmd-link-window.c b/usr.bin/tmux/cmd-link-window.c index ac4f2daa672..c704ef7853c 100644 --- a/usr.bin/tmux/cmd-link-window.c +++ b/usr.bin/tmux/cmd-link-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-link-window.c,v 1.8 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-link-window.c,v 1.9 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_link_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_link_window_entry = { "link-window", "linkw", "[-dk] " CMD_SRCDST_WINDOW_USAGE, - 0, CMD_CHFLAG('d')|CMD_CHFLAG('k'), + 0, "dk", cmd_srcdst_init, cmd_srcdst_parse, cmd_link_window_exec, @@ -53,8 +53,8 @@ cmd_link_window_exec(struct cmd *self, struct cmd_ctx *ctx) if ((idx = cmd_find_index(ctx, data->dst, &dst)) == -2) return (-1); - kflag = data->chflags & CMD_CHFLAG('k'); - dflag = data->chflags & CMD_CHFLAG('d'); + kflag = cmd_check_flag(data->chflags, 'k'); + dflag = cmd_check_flag(data->chflags, 'd'); if (server_link_window(src, wl, dst, idx, kflag, !dflag, &cause) != 0) { ctx->error(ctx, "can't link window: %s", cause); xfree(cause); diff --git a/usr.bin/tmux/cmd-list-buffers.c b/usr.bin/tmux/cmd-list-buffers.c index 15c53ebf366..f34c62b1a5d 100644 --- a/usr.bin/tmux/cmd-list-buffers.c +++ b/usr.bin/tmux/cmd-list-buffers.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-list-buffers.c,v 1.5 2009/09/07 18:50:45 nicm Exp $ */ +/* $OpenBSD: cmd-list-buffers.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_list_buffers_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_list_buffers_entry = { "list-buffers", "lsb", CMD_TARGET_SESSION_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_list_buffers_exec, diff --git a/usr.bin/tmux/cmd-list-clients.c b/usr.bin/tmux/cmd-list-clients.c index d472d717f92..cc3dc193b8b 100644 --- a/usr.bin/tmux/cmd-list-clients.c +++ b/usr.bin/tmux/cmd-list-clients.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-list-clients.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-list-clients.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_list_clients_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_list_clients_entry = { "list-clients", "lsc", "", - 0, 0, + 0, "", NULL, NULL, cmd_list_clients_exec, diff --git a/usr.bin/tmux/cmd-list-commands.c b/usr.bin/tmux/cmd-list-commands.c index 5685af075a5..374b00b24b3 100644 --- a/usr.bin/tmux/cmd-list-commands.c +++ b/usr.bin/tmux/cmd-list-commands.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-list-commands.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-list-commands.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_list_commands_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_list_commands_entry = { "list-commands", "lscm", "", - 0, 0, + 0, "", NULL, NULL, cmd_list_commands_exec, diff --git a/usr.bin/tmux/cmd-list-keys.c b/usr.bin/tmux/cmd-list-keys.c index 2d2baa88552..70847ca8d81 100644 --- a/usr.bin/tmux/cmd-list-keys.c +++ b/usr.bin/tmux/cmd-list-keys.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-list-keys.c,v 1.8 2009/11/05 12:04:50 nicm Exp $ */ +/* $OpenBSD: cmd-list-keys.c,v 1.9 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -33,7 +33,7 @@ int cmd_list_keys_table(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_list_keys_entry = { "list-keys", "lsk", "[-t key-table]", - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_list_keys_exec, diff --git a/usr.bin/tmux/cmd-list-panes.c b/usr.bin/tmux/cmd-list-panes.c index 470af1968d1..dc6f5b00b11 100644 --- a/usr.bin/tmux/cmd-list-panes.c +++ b/usr.bin/tmux/cmd-list-panes.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-list-panes.c,v 1.2 2009/10/15 07:05:38 nicm Exp $ */ +/* $OpenBSD: cmd-list-panes.c,v 1.3 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_list_panes_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_list_panes_entry = { "list-panes", "lsp", CMD_TARGET_WINDOW_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_list_panes_exec, diff --git a/usr.bin/tmux/cmd-list-sessions.c b/usr.bin/tmux/cmd-list-sessions.c index 7caa943c080..4436972337f 100644 --- a/usr.bin/tmux/cmd-list-sessions.c +++ b/usr.bin/tmux/cmd-list-sessions.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-list-sessions.c,v 1.5 2009/11/03 20:29:47 nicm Exp $ */ +/* $OpenBSD: cmd-list-sessions.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_list_sessions_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_list_sessions_entry = { "list-sessions", "ls", "", - 0, 0, + 0, "", NULL, NULL, cmd_list_sessions_exec, diff --git a/usr.bin/tmux/cmd-list-windows.c b/usr.bin/tmux/cmd-list-windows.c index 0cfdb7b2888..e1b5e6c01a3 100644 --- a/usr.bin/tmux/cmd-list-windows.c +++ b/usr.bin/tmux/cmd-list-windows.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-list-windows.c,v 1.7 2009/10/10 17:19:38 nicm Exp $ */ +/* $OpenBSD: cmd-list-windows.c,v 1.8 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_list_windows_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_list_windows_entry = { "list-windows", "lsw", CMD_TARGET_SESSION_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_list_windows_exec, diff --git a/usr.bin/tmux/cmd-load-buffer.c b/usr.bin/tmux/cmd-load-buffer.c index 1a545259ba2..77ca4720ca0 100644 --- a/usr.bin/tmux/cmd-load-buffer.c +++ b/usr.bin/tmux/cmd-load-buffer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-load-buffer.c,v 1.7 2009/10/26 21:25:57 nicm Exp $ */ +/* $OpenBSD: cmd-load-buffer.c,v 1.8 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org> @@ -35,7 +35,7 @@ int cmd_load_buffer_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_load_buffer_entry = { "load-buffer", "loadb", CMD_BUFFER_SESSION_USAGE " path", - CMD_ARG1, 0, + CMD_ARG1, "", cmd_buffer_init, cmd_buffer_parse, cmd_load_buffer_exec, diff --git a/usr.bin/tmux/cmd-lock-client.c b/usr.bin/tmux/cmd-lock-client.c index 2bb550c2191..6f7ebd07d0b 100644 --- a/usr.bin/tmux/cmd-lock-client.c +++ b/usr.bin/tmux/cmd-lock-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-lock-client.c,v 1.1 2009/09/24 14:17:09 nicm Exp $ */ +/* $OpenBSD: cmd-lock-client.c,v 1.2 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_lock_client_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_lock_client_entry = { "lock-client", "lockc", CMD_TARGET_CLIENT_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_lock_client_exec, diff --git a/usr.bin/tmux/cmd-lock-server.c b/usr.bin/tmux/cmd-lock-server.c index f3ed3d06427..04e798b9bad 100644 --- a/usr.bin/tmux/cmd-lock-server.c +++ b/usr.bin/tmux/cmd-lock-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-lock-server.c,v 1.5 2009/09/24 07:02:56 nicm Exp $ */ +/* $OpenBSD: cmd-lock-server.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -33,7 +33,7 @@ int cmd_lock_server_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_lock_server_entry = { "lock-server", "lock", "", - 0, 0, + 0, "", NULL, NULL, cmd_lock_server_exec, diff --git a/usr.bin/tmux/cmd-lock-session.c b/usr.bin/tmux/cmd-lock-session.c index f22c16023ae..6ee564d5076 100644 --- a/usr.bin/tmux/cmd-lock-session.c +++ b/usr.bin/tmux/cmd-lock-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-lock-session.c,v 1.1 2009/09/24 14:17:09 nicm Exp $ */ +/* $OpenBSD: cmd-lock-session.c,v 1.2 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_lock_session_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_lock_session_entry = { "lock-session", "locks", CMD_TARGET_SESSION_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_lock_session_exec, diff --git a/usr.bin/tmux/cmd-move-window.c b/usr.bin/tmux/cmd-move-window.c index 381118b6e5b..684093490ea 100644 --- a/usr.bin/tmux/cmd-move-window.c +++ b/usr.bin/tmux/cmd-move-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-move-window.c,v 1.8 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-move-window.c,v 1.9 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_move_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_move_window_entry = { "move-window", "movew", "[-dk] " CMD_SRCDST_WINDOW_USAGE, - 0, CMD_CHFLAG('d')|CMD_CHFLAG('k'), + 0, "dk", cmd_srcdst_init, cmd_srcdst_parse, cmd_move_window_exec, @@ -53,8 +53,8 @@ cmd_move_window_exec(struct cmd *self, struct cmd_ctx *ctx) if ((idx = cmd_find_index(ctx, data->dst, &dst)) == -2) return (-1); - kflag = data->chflags & CMD_CHFLAG('k'); - dflag = data->chflags & CMD_CHFLAG('d'); + kflag = cmd_check_flag(data->chflags, 'k'); + dflag = cmd_check_flag(data->chflags, 'd'); if (server_link_window(src, wl, dst, idx, kflag, !dflag, &cause) != 0) { ctx->error(ctx, "can't move window: %s", cause); xfree(cause); diff --git a/usr.bin/tmux/cmd-new-session.c b/usr.bin/tmux/cmd-new-session.c index 7671ed5563a..be47043785e 100644 --- a/usr.bin/tmux/cmd-new-session.c +++ b/usr.bin/tmux/cmd-new-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-new-session.c,v 1.22 2009/11/11 08:00:42 nicm Exp $ */ +/* $OpenBSD: cmd-new-session.c,v 1.23 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -44,7 +44,7 @@ struct cmd_new_session_data { const struct cmd_entry cmd_new_session_entry = { "new-session", "new", "[-d] [-n window-name] [-s session-name] [-t target-session] [command]", - CMD_STARTSERVER|CMD_CANTNEST|CMD_SENDENVIRON, 0, + CMD_STARTSERVER|CMD_CANTNEST|CMD_SENDENVIRON, "", cmd_new_session_init, cmd_new_session_parse, cmd_new_session_exec, diff --git a/usr.bin/tmux/cmd-new-window.c b/usr.bin/tmux/cmd-new-window.c index 20c94f9c68e..10b1a603933 100644 --- a/usr.bin/tmux/cmd-new-window.c +++ b/usr.bin/tmux/cmd-new-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-new-window.c,v 1.8 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-new-window.c,v 1.9 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -43,7 +43,7 @@ struct cmd_new_window_data { const struct cmd_entry cmd_new_window_entry = { "new-window", "neww", "[-dk] [-n window-name] [-t target-window] [command]", - 0, 0, + 0, "", cmd_new_window_init, cmd_new_window_parse, cmd_new_window_exec, diff --git a/usr.bin/tmux/cmd-next-layout.c b/usr.bin/tmux/cmd-next-layout.c index 81a943233da..9d14c94e058 100644 --- a/usr.bin/tmux/cmd-next-layout.c +++ b/usr.bin/tmux/cmd-next-layout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-next-layout.c,v 1.4 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-next-layout.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_next_layout_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_next_layout_entry = { "next-layout", "nextl", CMD_TARGET_WINDOW_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_next_layout_exec, diff --git a/usr.bin/tmux/cmd-next-window.c b/usr.bin/tmux/cmd-next-window.c index 455efe246f4..974ed9d1aa3 100644 --- a/usr.bin/tmux/cmd-next-window.c +++ b/usr.bin/tmux/cmd-next-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-next-window.c,v 1.5 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-next-window.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -30,7 +30,7 @@ int cmd_next_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_next_window_entry = { "next-window", "next", "[-a] " CMD_TARGET_SESSION_USAGE, - 0, CMD_CHFLAG('a'), + 0, "a", cmd_next_window_init, cmd_target_parse, cmd_next_window_exec, @@ -47,7 +47,7 @@ cmd_next_window_init(struct cmd *self, int key) data = self->data; if (key == ('n' | KEYC_ESCAPE)) - data->chflags |= CMD_CHFLAG('a'); + cmd_set_flag(&data->chflags, 'a'); } int @@ -61,7 +61,7 @@ cmd_next_window_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); activity = 0; - if (data->chflags & CMD_CHFLAG('a')) + if (cmd_check_flag(data->chflags, 'a')) activity = 1; if (session_next(s, activity) == 0) diff --git a/usr.bin/tmux/cmd-paste-buffer.c b/usr.bin/tmux/cmd-paste-buffer.c index d52f5307f02..f96658e3a1e 100644 --- a/usr.bin/tmux/cmd-paste-buffer.c +++ b/usr.bin/tmux/cmd-paste-buffer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-paste-buffer.c,v 1.7 2009/11/04 22:43:11 nicm Exp $ */ +/* $OpenBSD: cmd-paste-buffer.c,v 1.8 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ void cmd_paste_buffer_lf2cr(struct window_pane *, const char *, size_t); const struct cmd_entry cmd_paste_buffer_entry = { "paste-buffer", "pasteb", "[-dr] " CMD_BUFFER_WINDOW_USAGE, - 0, CMD_CHFLAG('d')|CMD_CHFLAG('r'), + 0, "dr", cmd_buffer_init, cmd_buffer_parse, cmd_paste_buffer_exec, @@ -64,14 +64,14 @@ cmd_paste_buffer_exec(struct cmd *self, struct cmd_ctx *ctx) if (pb != NULL && *pb->data != '\0') { /* -r means raw data without LF->CR conversion. */ - if (data->chflags & CMD_CHFLAG('r')) + if (cmd_check_flag(data->chflags, 'r')) bufferevent_write(wp->event, pb->data, pb->size); else cmd_paste_buffer_lf2cr(wp, pb->data, pb->size); } /* Delete the buffer if -d. */ - if (data->chflags & CMD_CHFLAG('d')) { + if (cmd_check_flag(data->chflags, 'd')) { if (data->buffer == -1) paste_free_top(&s->buffers); else diff --git a/usr.bin/tmux/cmd-pipe-pane.c b/usr.bin/tmux/cmd-pipe-pane.c index c29458ea959..aea7c504cf0 100644 --- a/usr.bin/tmux/cmd-pipe-pane.c +++ b/usr.bin/tmux/cmd-pipe-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-pipe-pane.c,v 1.6 2009/11/13 18:59:14 nicm Exp $ */ +/* $OpenBSD: cmd-pipe-pane.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -38,7 +38,7 @@ void cmd_pipe_pane_error_callback(struct bufferevent *, short, void *); const struct cmd_entry cmd_pipe_pane_entry = { "pipe-pane", "pipep", CMD_TARGET_PANE_USAGE "[-o] [command]", - CMD_ARG01, CMD_CHFLAG('o'), + CMD_ARG01, "o", cmd_target_init, cmd_target_parse, cmd_pipe_pane_exec, @@ -74,7 +74,7 @@ cmd_pipe_pane_exec(struct cmd *self, struct cmd_ctx *ctx) * * bind ^p pipep -o 'cat >>~/output' */ - if (data->chflags & CMD_CHFLAG('o') && old_fd != -1) + if (cmd_check_flag(data->chflags, 'o') && old_fd != -1) return (0); /* Open the new pipe. */ diff --git a/usr.bin/tmux/cmd-previous-layout.c b/usr.bin/tmux/cmd-previous-layout.c index 9d87a2473d7..394ecef239a 100644 --- a/usr.bin/tmux/cmd-previous-layout.c +++ b/usr.bin/tmux/cmd-previous-layout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-previous-layout.c,v 1.4 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-previous-layout.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_previous_layout_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_previous_layout_entry = { "previous-layout", "prevl", CMD_TARGET_WINDOW_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_previous_layout_exec, diff --git a/usr.bin/tmux/cmd-previous-window.c b/usr.bin/tmux/cmd-previous-window.c index 8b5a3e2806b..86f2744a2cb 100644 --- a/usr.bin/tmux/cmd-previous-window.c +++ b/usr.bin/tmux/cmd-previous-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-previous-window.c,v 1.5 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-previous-window.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -30,7 +30,7 @@ int cmd_previous_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_previous_window_entry = { "previous-window", "prev", "[-a] " CMD_TARGET_SESSION_USAGE, - 0, CMD_CHFLAG('a'), + 0, "a", cmd_previous_window_init, cmd_target_parse, cmd_previous_window_exec, @@ -47,7 +47,7 @@ cmd_previous_window_init(struct cmd *self, int key) data = self->data; if (key == ('p' | KEYC_ESCAPE)) - data->chflags |= CMD_CHFLAG('a'); + cmd_set_flag(&data->chflags, 'a'); } int @@ -61,7 +61,7 @@ cmd_previous_window_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); activity = 0; - if (data->chflags & CMD_CHFLAG('a')) + if (cmd_check_flag(data->chflags, 'a')) activity = 1; if (session_previous(s, activity) == 0) diff --git a/usr.bin/tmux/cmd-refresh-client.c b/usr.bin/tmux/cmd-refresh-client.c index a7630b020ec..ec97b4cbe0d 100644 --- a/usr.bin/tmux/cmd-refresh-client.c +++ b/usr.bin/tmux/cmd-refresh-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-refresh-client.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-refresh-client.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_refresh_client_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_refresh_client_entry = { "refresh-client", "refresh", CMD_TARGET_CLIENT_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_refresh_client_exec, diff --git a/usr.bin/tmux/cmd-rename-session.c b/usr.bin/tmux/cmd-rename-session.c index f02dcbcff71..514a78b8038 100644 --- a/usr.bin/tmux/cmd-rename-session.c +++ b/usr.bin/tmux/cmd-rename-session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-rename-session.c,v 1.4 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-rename-session.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_rename_session_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_rename_session_entry = { "rename-session", "rename", CMD_TARGET_SESSION_USAGE " new-name", - CMD_ARG1, 0, + CMD_ARG1, "", cmd_target_init, cmd_target_parse, cmd_rename_session_exec, diff --git a/usr.bin/tmux/cmd-rename-window.c b/usr.bin/tmux/cmd-rename-window.c index e0c13dd7557..1c75041ebca 100644 --- a/usr.bin/tmux/cmd-rename-window.c +++ b/usr.bin/tmux/cmd-rename-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-rename-window.c,v 1.4 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-rename-window.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_rename_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_rename_window_entry = { "rename-window", "renamew", CMD_TARGET_WINDOW_USAGE " new-name", - CMD_ARG1, 0, + CMD_ARG1, "", cmd_target_init, cmd_target_parse, cmd_rename_window_exec, diff --git a/usr.bin/tmux/cmd-resize-pane.c b/usr.bin/tmux/cmd-resize-pane.c index 3c284a23a4e..429ca0532cd 100644 --- a/usr.bin/tmux/cmd-resize-pane.c +++ b/usr.bin/tmux/cmd-resize-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-resize-pane.c,v 1.6 2009/07/30 13:45:56 nicm Exp $ */ +/* $OpenBSD: cmd-resize-pane.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,9 +31,8 @@ int cmd_resize_pane_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_resize_pane_entry = { "resize-pane", "resizep", - "[-DU] " CMD_TARGET_PANE_USAGE " [adjustment]", - CMD_ARG01, - CMD_CHFLAG('D')|CMD_CHFLAG('L')|CMD_CHFLAG('R')|CMD_CHFLAG('U'), + "[-DLRU] " CMD_TARGET_PANE_USAGE " [adjustment]", + CMD_ARG01, "DLRU", cmd_resize_pane_init, cmd_target_parse, cmd_resize_pane_exec, @@ -50,28 +49,28 @@ cmd_resize_pane_init(struct cmd *self, int key) data = self->data; if (key == (KEYC_UP | KEYC_CTRL)) - data->chflags |= CMD_CHFLAG('U'); + cmd_set_flag(&data->chflags, 'U'); if (key == (KEYC_DOWN | KEYC_CTRL)) - data->chflags |= CMD_CHFLAG('D'); + cmd_set_flag(&data->chflags, 'D'); if (key == (KEYC_LEFT | KEYC_CTRL)) - data->chflags |= CMD_CHFLAG('L'); + cmd_set_flag(&data->chflags, 'L'); if (key == (KEYC_RIGHT | KEYC_CTRL)) - data->chflags |= CMD_CHFLAG('R'); + cmd_set_flag(&data->chflags, 'R'); if (key == (KEYC_UP | KEYC_ESCAPE)) { - data->chflags |= CMD_CHFLAG('U'); + cmd_set_flag(&data->chflags, 'U'); data->arg = xstrdup("5"); } if (key == (KEYC_DOWN | KEYC_ESCAPE)) { - data->chflags |= CMD_CHFLAG('D'); + cmd_set_flag(&data->chflags, 'D'); data->arg = xstrdup("5"); } if (key == (KEYC_LEFT | KEYC_ESCAPE)) { - data->chflags |= CMD_CHFLAG('L'); + cmd_set_flag(&data->chflags, 'L'); data->arg = xstrdup("5"); } if (key == (KEYC_RIGHT | KEYC_ESCAPE)) { - data->chflags |= CMD_CHFLAG('R'); + cmd_set_flag(&data->chflags, 'R'); data->arg = xstrdup("5"); } } @@ -98,15 +97,14 @@ cmd_resize_pane_exec(struct cmd *self, struct cmd_ctx *ctx) } } - if (data->chflags & (CMD_CHFLAG('L')|CMD_CHFLAG('R'))) { - if (data->chflags & CMD_CHFLAG('L')) - adjust = -adjust; + if (cmd_check_flag(data->chflags, 'L')) + layout_resize_pane(wp, LAYOUT_LEFTRIGHT, -adjust); + else if (cmd_check_flag(data->chflags, 'R')) layout_resize_pane(wp, LAYOUT_LEFTRIGHT, adjust); - } else { - if (data->chflags & CMD_CHFLAG('U')) - adjust = -adjust; + else if (cmd_check_flag(data->chflags, 'U')) + layout_resize_pane(wp, LAYOUT_TOPBOTTOM, -adjust); + else if (cmd_check_flag(data->chflags, 'D')) layout_resize_pane(wp, LAYOUT_TOPBOTTOM, adjust); - } server_redraw_window(wl->window); return (0); diff --git a/usr.bin/tmux/cmd-respawn-window.c b/usr.bin/tmux/cmd-respawn-window.c index 38f8f6f4b09..8b475613313 100644 --- a/usr.bin/tmux/cmd-respawn-window.c +++ b/usr.bin/tmux/cmd-respawn-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-respawn-window.c,v 1.10 2009/11/13 17:33:07 nicm Exp $ */ +/* $OpenBSD: cmd-respawn-window.c,v 1.11 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_respawn_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_respawn_window_entry = { "respawn-window", "respawnw", "[-k] " CMD_TARGET_WINDOW_USAGE " [command]", - CMD_ARG01, CMD_CHFLAG('k'), + CMD_ARG01, "k", cmd_target_init, cmd_target_parse, cmd_respawn_window_exec, @@ -54,7 +54,7 @@ cmd_respawn_window_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); w = wl->window; - if (!(data->chflags & CMD_CHFLAG('k'))) { + if (!cmd_check_flag(data->chflags, 'k')) { TAILQ_FOREACH(wp, &w->panes, entry) { if (wp->fd == -1) continue; diff --git a/usr.bin/tmux/cmd-rotate-window.c b/usr.bin/tmux/cmd-rotate-window.c index 4fdc0a221b1..13d178ef95a 100644 --- a/usr.bin/tmux/cmd-rotate-window.c +++ b/usr.bin/tmux/cmd-rotate-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-rotate-window.c,v 1.9 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-rotate-window.c,v 1.10 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -30,7 +30,7 @@ int cmd_rotate_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_rotate_window_entry = { "rotate-window", "rotatew", "[-DU] " CMD_TARGET_WINDOW_USAGE, - 0, CMD_CHFLAG('D')|CMD_CHFLAG('U'), + 0, "DU", cmd_rotate_window_init, cmd_target_parse, cmd_rotate_window_exec, @@ -47,7 +47,7 @@ cmd_rotate_window_init(struct cmd *self, int key) data = self->data; if (key == ('o' | KEYC_ESCAPE)) - data->chflags |= CMD_CHFLAG('D'); + cmd_set_flag(&data->chflags, 'D'); } int @@ -64,7 +64,7 @@ cmd_rotate_window_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); w = wl->window; - if (data->chflags & CMD_CHFLAG('D')) { + if (cmd_check_flag(data->chflags, 'D')) { wp = TAILQ_LAST(&w->panes, window_panes); TAILQ_REMOVE(&w->panes, wp, entry); TAILQ_INSERT_HEAD(&w->panes, wp, entry); diff --git a/usr.bin/tmux/cmd-run-shell.c b/usr.bin/tmux/cmd-run-shell.c index 274fbde2149..1692bb4526d 100644 --- a/usr.bin/tmux/cmd-run-shell.c +++ b/usr.bin/tmux/cmd-run-shell.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-run-shell.c,v 1.5 2009/11/04 21:04:43 nicm Exp $ */ +/* $OpenBSD: cmd-run-shell.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org> @@ -36,7 +36,7 @@ void cmd_run_shell_free(void *); const struct cmd_entry cmd_run_shell_entry = { "run-shell", "run", "command", - CMD_ARG1, 0, + CMD_ARG1, "", cmd_target_init, cmd_target_parse, cmd_run_shell_exec, diff --git a/usr.bin/tmux/cmd-save-buffer.c b/usr.bin/tmux/cmd-save-buffer.c index ef71693ac33..3d6fbbedc5d 100644 --- a/usr.bin/tmux/cmd-save-buffer.c +++ b/usr.bin/tmux/cmd-save-buffer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-save-buffer.c,v 1.5 2009/10/26 21:13:06 nicm Exp $ */ +/* $OpenBSD: cmd-save-buffer.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org> @@ -33,7 +33,7 @@ int cmd_save_buffer_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_save_buffer_entry = { "save-buffer", "saveb", "[-a] " CMD_BUFFER_SESSION_USAGE " path", - CMD_ARG1, CMD_CHFLAG('a'), + CMD_ARG1, "a", cmd_buffer_init, cmd_buffer_parse, cmd_save_buffer_exec, @@ -66,7 +66,7 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx) } mask = umask(S_IRWXG | S_IRWXO); - if (data->chflags & CMD_CHFLAG('a')) + if (cmd_check_flag(data->chflags, 'a')) f = fopen(data->arg, "ab"); else f = fopen(data->arg, "wb"); diff --git a/usr.bin/tmux/cmd-select-layout.c b/usr.bin/tmux/cmd-select-layout.c index 6bd4c505b9f..8dce7687221 100644 --- a/usr.bin/tmux/cmd-select-layout.c +++ b/usr.bin/tmux/cmd-select-layout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-select-layout.c,v 1.6 2009/07/28 06:48:44 nicm Exp $ */ +/* $OpenBSD: cmd-select-layout.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -30,7 +30,7 @@ int cmd_select_layout_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_select_layout_entry = { "select-layout", "selectl", CMD_TARGET_WINDOW_USAGE " [layout-name]", - CMD_ARG01, 0, + CMD_ARG01, "", cmd_select_layout_init, cmd_target_parse, cmd_select_layout_exec, diff --git a/usr.bin/tmux/cmd-select-pane.c b/usr.bin/tmux/cmd-select-pane.c index b72c173dc7d..800e910b32f 100644 --- a/usr.bin/tmux/cmd-select-pane.c +++ b/usr.bin/tmux/cmd-select-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-select-pane.c,v 1.7 2009/07/30 13:45:56 nicm Exp $ */ +/* $OpenBSD: cmd-select-pane.c,v 1.8 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_select_pane_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_select_pane_entry = { "select-pane", "selectp", CMD_TARGET_PANE_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_select_pane_exec, diff --git a/usr.bin/tmux/cmd-select-prompt.c b/usr.bin/tmux/cmd-select-prompt.c index a1166c5aeee..8e7ca113d91 100644 --- a/usr.bin/tmux/cmd-select-prompt.c +++ b/usr.bin/tmux/cmd-select-prompt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-select-prompt.c,v 1.6 2009/08/13 23:44:18 nicm Exp $ */ +/* $OpenBSD: cmd-select-prompt.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -33,7 +33,7 @@ int cmd_select_prompt_callback(void *, const char *); const struct cmd_entry cmd_select_prompt_entry = { "select-prompt", NULL, CMD_TARGET_CLIENT_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_select_prompt_exec, diff --git a/usr.bin/tmux/cmd-select-window.c b/usr.bin/tmux/cmd-select-window.c index b3794c1f707..0f6029936de 100644 --- a/usr.bin/tmux/cmd-select-window.c +++ b/usr.bin/tmux/cmd-select-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-select-window.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-select-window.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_select_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_select_window_entry = { "select-window", "selectw", CMD_TARGET_WINDOW_USAGE, - 0, 0, + 0, "", cmd_select_window_init, cmd_target_parse, cmd_select_window_exec, diff --git a/usr.bin/tmux/cmd-send-keys.c b/usr.bin/tmux/cmd-send-keys.c index ae07bfe0be5..f2d439c9209 100644 --- a/usr.bin/tmux/cmd-send-keys.c +++ b/usr.bin/tmux/cmd-send-keys.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-send-keys.c,v 1.5 2009/09/21 15:25:36 nicm Exp $ */ +/* $OpenBSD: cmd-send-keys.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -40,7 +40,7 @@ struct cmd_send_keys_data { const struct cmd_entry cmd_send_keys_entry = { "send-keys", "send", "[-t target-pane] key ...", - 0, 0, + 0, "", NULL, cmd_send_keys_parse, cmd_send_keys_exec, diff --git a/usr.bin/tmux/cmd-send-prefix.c b/usr.bin/tmux/cmd-send-prefix.c index fdf9a93405e..8f784f4aec3 100644 --- a/usr.bin/tmux/cmd-send-prefix.c +++ b/usr.bin/tmux/cmd-send-prefix.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-send-prefix.c,v 1.5 2009/09/22 12:38:10 nicm Exp $ */ +/* $OpenBSD: cmd-send-prefix.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_send_prefix_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_send_prefix_entry = { "send-prefix", NULL, CMD_TARGET_PANE_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_send_prefix_exec, diff --git a/usr.bin/tmux/cmd-server-info.c b/usr.bin/tmux/cmd-server-info.c index f17644e47c3..bccbc39b953 100644 --- a/usr.bin/tmux/cmd-server-info.c +++ b/usr.bin/tmux/cmd-server-info.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-server-info.c,v 1.14 2009/11/03 20:29:47 nicm Exp $ */ +/* $OpenBSD: cmd-server-info.c,v 1.15 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -36,7 +36,7 @@ int cmd_server_info_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_server_info_entry = { "server-info", "info", "", - 0, 0, + 0, "", NULL, NULL, cmd_server_info_exec, diff --git a/usr.bin/tmux/cmd-set-buffer.c b/usr.bin/tmux/cmd-set-buffer.c index 556781a940c..aeef5d2f245 100644 --- a/usr.bin/tmux/cmd-set-buffer.c +++ b/usr.bin/tmux/cmd-set-buffer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-set-buffer.c,v 1.4 2009/09/07 18:50:45 nicm Exp $ */ +/* $OpenBSD: cmd-set-buffer.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_set_buffer_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_set_buffer_entry = { "set-buffer", "setb", CMD_BUFFER_SESSION_USAGE " data", - CMD_ARG1, 0, + CMD_ARG1, "", cmd_buffer_init, cmd_buffer_parse, cmd_set_buffer_exec, diff --git a/usr.bin/tmux/cmd-set-environment.c b/usr.bin/tmux/cmd-set-environment.c index f921dff382e..9f85d4f1b28 100644 --- a/usr.bin/tmux/cmd-set-environment.c +++ b/usr.bin/tmux/cmd-set-environment.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-set-environment.c,v 1.2 2009/08/11 12:53:37 nicm Exp $ */ +/* $OpenBSD: cmd-set-environment.c,v 1.3 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_set_environment_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_set_environment_entry = { "set-environment", "setenv", "[-gru] " CMD_TARGET_SESSION_USAGE " name [value]", - CMD_ARG12, CMD_CHFLAG('g')|CMD_CHFLAG('r')|CMD_CHFLAG('u'), + CMD_ARG12, "gru", NULL, cmd_target_parse, cmd_set_environment_exec, @@ -56,7 +56,7 @@ cmd_set_environment_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); } - if (data->chflags & CMD_CHFLAG('g')) + if (cmd_check_flag(data->chflags, 'g')) env = &global_environ; else { if ((s = cmd_find_session(ctx, data->target)) == NULL) @@ -64,13 +64,13 @@ cmd_set_environment_exec(struct cmd *self, struct cmd_ctx *ctx) env = &s->environ; } - if (data->chflags & CMD_CHFLAG('u')) { + if (cmd_check_flag(data->chflags, 'u')) { if (data->arg2 != NULL) { ctx->error(ctx, "can't specify a value with -u"); return (-1); } environ_unset(env, data->arg); - } else if (data->chflags & CMD_CHFLAG('r')) { + } else if (cmd_check_flag(data->chflags, 'r')) { if (data->arg2 != NULL) { ctx->error(ctx, "can't specify a value with -r"); return (-1); diff --git a/usr.bin/tmux/cmd-set-option.c b/usr.bin/tmux/cmd-set-option.c index 7cf2ca7ef2f..e8696367a8b 100644 --- a/usr.bin/tmux/cmd-set-option.c +++ b/usr.bin/tmux/cmd-set-option.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-set-option.c,v 1.24 2009/11/01 23:20:37 nicm Exp $ */ +/* $OpenBSD: cmd-set-option.c,v 1.25 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_set_option_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_set_option_entry = { "set-option", "set", "[-agu] " CMD_TARGET_SESSION_USAGE " option [value]", - CMD_ARG12, CMD_CHFLAG('a')|CMD_CHFLAG('g')|CMD_CHFLAG('u'), + CMD_ARG12, "agu", NULL, cmd_target_parse, cmd_set_option_exec, @@ -113,7 +113,7 @@ cmd_set_option_exec(struct cmd *self, struct cmd_ctx *ctx) u_int i; int try_again; - if (data->chflags & CMD_CHFLAG('g')) + if (cmd_check_flag(data->chflags, 'g')) oo = &global_s_options; else { if ((s = cmd_find_session(ctx, data->target)) == NULL) @@ -145,8 +145,8 @@ cmd_set_option_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); } - if (data->chflags & CMD_CHFLAG('u')) { - if (data->chflags & CMD_CHFLAG('g')) { + if (cmd_check_flag(data->chflags, 'u')) { + if (cmd_check_flag(data->chflags, 'g')) { ctx->error(ctx, "can't unset global option: %s", entry->name); return (-1); @@ -163,7 +163,7 @@ cmd_set_option_exec(struct cmd *self, struct cmd_ctx *ctx) switch (entry->type) { case SET_OPTION_STRING: set_option_string(ctx, oo, entry, - data->arg2, data->chflags & CMD_CHFLAG('a')); + data->arg2, cmd_check_flag(data->chflags, 'a')); break; case SET_OPTION_NUMBER: set_option_number(ctx, oo, entry, data->arg2); diff --git a/usr.bin/tmux/cmd-set-window-option.c b/usr.bin/tmux/cmd-set-window-option.c index 339c418d72b..6c6f5bb9fe2 100644 --- a/usr.bin/tmux/cmd-set-window-option.c +++ b/usr.bin/tmux/cmd-set-window-option.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-set-window-option.c,v 1.13 2009/10/09 07:27:00 nicm Exp $ */ +/* $OpenBSD: cmd-set-window-option.c,v 1.14 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_set_window_option_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_set_window_option_entry = { "set-window-option", "setw", "[-agu] " CMD_TARGET_WINDOW_USAGE " option [value]", - CMD_ARG12, CMD_CHFLAG('a')|CMD_CHFLAG('g')|CMD_CHFLAG('u'), + CMD_ARG12, "agu", NULL, cmd_target_parse, cmd_set_window_option_exec, @@ -86,7 +86,7 @@ cmd_set_window_option_exec(struct cmd *self, struct cmd_ctx *ctx) const struct set_option_entry *entry, *opt; u_int i; - if (data->chflags & CMD_CHFLAG('g')) + if (cmd_check_flag(data->chflags, 'g')) oo = &global_w_options; else { if ((wl = cmd_find_window(ctx, data->target, NULL)) == NULL) @@ -118,8 +118,8 @@ cmd_set_window_option_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); } - if (data->chflags & CMD_CHFLAG('u')) { - if (data->chflags & CMD_CHFLAG('g')) { + if (cmd_check_flag(data->chflags, 'u')) { + if (cmd_check_flag(data->chflags, 'g')) { ctx->error(ctx, "can't unset global option: %s", entry->name); return (-1); @@ -136,7 +136,7 @@ cmd_set_window_option_exec(struct cmd *self, struct cmd_ctx *ctx) switch (entry->type) { case SET_OPTION_STRING: set_option_string(ctx, oo, entry, - data->arg2, data->chflags & CMD_CHFLAG('a')); + data->arg2, cmd_check_flag(data->chflags, 'a')); break; case SET_OPTION_NUMBER: set_option_number(ctx, oo, entry, data->arg2); diff --git a/usr.bin/tmux/cmd-show-buffer.c b/usr.bin/tmux/cmd-show-buffer.c index 31dfc830727..663f1bb8694 100644 --- a/usr.bin/tmux/cmd-show-buffer.c +++ b/usr.bin/tmux/cmd-show-buffer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-show-buffer.c,v 1.6 2009/09/07 18:50:45 nicm Exp $ */ +/* $OpenBSD: cmd-show-buffer.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_show_buffer_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_show_buffer_entry = { "show-buffer", "showb", CMD_BUFFER_SESSION_USAGE, - 0, 0, + 0, "", cmd_buffer_init, cmd_buffer_parse, cmd_show_buffer_exec, diff --git a/usr.bin/tmux/cmd-show-environment.c b/usr.bin/tmux/cmd-show-environment.c index 8efd0144a36..b792f6ac0b5 100644 --- a/usr.bin/tmux/cmd-show-environment.c +++ b/usr.bin/tmux/cmd-show-environment.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-show-environment.c,v 1.1 2009/08/08 21:52:43 nicm Exp $ */ +/* $OpenBSD: cmd-show-environment.c,v 1.2 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_show_environment_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_show_environment_entry = { "show-environment", "showenv", "[-g] " CMD_TARGET_SESSION_USAGE, - 0, CMD_CHFLAG('g'), + 0, "g", cmd_target_init, cmd_target_parse, cmd_show_environment_exec, @@ -48,7 +48,7 @@ cmd_show_environment_exec(struct cmd *self, struct cmd_ctx *ctx) struct environ *env; struct environ_entry *envent; - if (data->chflags & CMD_CHFLAG('g')) + if (cmd_check_flag(data->chflags, 'g')) env = &global_environ; else { if ((s = cmd_find_session(ctx, data->target)) == NULL) diff --git a/usr.bin/tmux/cmd-show-options.c b/usr.bin/tmux/cmd-show-options.c index ae92f60a4f7..f183a9ae51f 100644 --- a/usr.bin/tmux/cmd-show-options.c +++ b/usr.bin/tmux/cmd-show-options.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-show-options.c,v 1.6 2009/09/21 14:46:47 nicm Exp $ */ +/* $OpenBSD: cmd-show-options.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_show_options_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_show_options_entry = { "show-options", "show", "[-g] " CMD_TARGET_SESSION_USAGE, - 0, CMD_CHFLAG('g'), + 0, "g", cmd_target_init, cmd_target_parse, cmd_show_options_exec, @@ -50,7 +50,7 @@ cmd_show_options_exec(struct cmd *self, struct cmd_ctx *ctx) const struct set_option_entry *entry; const char *optval; - if (data->chflags & CMD_CHFLAG('g')) + if (cmd_check_flag(data->chflags, 'g')) oo = &global_s_options; else { if ((s = cmd_find_session(ctx, data->target)) == NULL) diff --git a/usr.bin/tmux/cmd-show-window-options.c b/usr.bin/tmux/cmd-show-window-options.c index 66ae1573a83..75eff1a544d 100644 --- a/usr.bin/tmux/cmd-show-window-options.c +++ b/usr.bin/tmux/cmd-show-window-options.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-show-window-options.c,v 1.6 2009/09/21 14:46:47 nicm Exp $ */ +/* $OpenBSD: cmd-show-window-options.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_show_window_options_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_show_window_options_entry = { "show-window-options", "showw", "[-g] " CMD_TARGET_WINDOW_USAGE, - 0, CMD_CHFLAG('g'), + 0, "g", cmd_target_init, cmd_target_parse, cmd_show_window_options_exec, @@ -50,7 +50,7 @@ cmd_show_window_options_exec(struct cmd *self, struct cmd_ctx *ctx) const struct set_option_entry *entry; const char *optval; - if (data->chflags & CMD_CHFLAG('g')) + if (cmd_check_flag(data->chflags, 'g')) oo = &global_w_options; else { if ((wl = cmd_find_window(ctx, data->target, NULL)) == NULL) diff --git a/usr.bin/tmux/cmd-source-file.c b/usr.bin/tmux/cmd-source-file.c index a893010ca1a..801f25ca78e 100644 --- a/usr.bin/tmux/cmd-source-file.c +++ b/usr.bin/tmux/cmd-source-file.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-source-file.c,v 1.5 2009/09/21 15:32:06 nicm Exp $ */ +/* $OpenBSD: cmd-source-file.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2008 Tiago Cunha <me@tiagocunha.org> @@ -37,7 +37,7 @@ struct cmd_source_file_data { const struct cmd_entry cmd_source_file_entry = { "source-file", "source", "path", - 0, 0, + 0, "", cmd_source_file_init, cmd_source_file_parse, cmd_source_file_exec, diff --git a/usr.bin/tmux/cmd-split-window.c b/usr.bin/tmux/cmd-split-window.c index e452195bfee..50b7b56fac5 100644 --- a/usr.bin/tmux/cmd-split-window.c +++ b/usr.bin/tmux/cmd-split-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-split-window.c,v 1.13 2009/09/21 15:32:06 nicm Exp $ */ +/* $OpenBSD: cmd-split-window.c,v 1.14 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -46,7 +46,7 @@ struct cmd_split_window_data { const struct cmd_entry cmd_split_window_entry = { "split-window", "splitw", "[-dhv] [-p percentage|-l size] [-t target-window] [command]", - 0, 0, + 0, "", cmd_split_window_init, cmd_split_window_parse, cmd_split_window_exec, diff --git a/usr.bin/tmux/cmd-start-server.c b/usr.bin/tmux/cmd-start-server.c index e8ecc029272..8d2b3c6abbb 100644 --- a/usr.bin/tmux/cmd-start-server.c +++ b/usr.bin/tmux/cmd-start-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-start-server.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-start-server.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_start_server_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_start_server_entry = { "start-server", "start", "", - CMD_STARTSERVER, 0, + CMD_STARTSERVER, "", NULL, NULL, cmd_start_server_exec, diff --git a/usr.bin/tmux/cmd-suspend-client.c b/usr.bin/tmux/cmd-suspend-client.c index 6d6fcd96237..95ce78b0cf3 100644 --- a/usr.bin/tmux/cmd-suspend-client.c +++ b/usr.bin/tmux/cmd-suspend-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-suspend-client.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-suspend-client.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -37,7 +37,7 @@ struct cmd_suspend_client_data { const struct cmd_entry cmd_suspend_client_entry = { "suspend-client", "suspendc", "[-c target-client]", - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_suspend_client_exec, diff --git a/usr.bin/tmux/cmd-swap-pane.c b/usr.bin/tmux/cmd-swap-pane.c index bd1cdfc7d82..bb61796dc6c 100644 --- a/usr.bin/tmux/cmd-swap-pane.c +++ b/usr.bin/tmux/cmd-swap-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-swap-pane.c,v 1.9 2009/07/30 17:29:12 nicm Exp $ */ +/* $OpenBSD: cmd-swap-pane.c,v 1.10 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -32,7 +32,7 @@ int cmd_swap_pane_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_swap_pane_entry = { "swap-pane", "swapp", "[-dDU] " CMD_SRCDST_PANE_USAGE, - 0, CMD_CHFLAG('d')|CMD_CHFLAG('D')|CMD_CHFLAG('U'), + 0, "dDU", cmd_swap_pane_init, cmd_srcdst_parse, cmd_swap_pane_exec, @@ -49,11 +49,12 @@ cmd_swap_pane_init(struct cmd *self, int key) data = self->data; if (key == '{') - data->chflags |= CMD_CHFLAG('U'); + cmd_set_flag(&data->chflags, 'U'); else if (key == '}') - data->chflags |= CMD_CHFLAG('D'); + cmd_set_flag(&data->chflags, 'D'); } + int cmd_swap_pane_exec(struct cmd *self, struct cmd_ctx *ctx) { @@ -73,11 +74,11 @@ cmd_swap_pane_exec(struct cmd *self, struct cmd_ctx *ctx) if (data->src == NULL) { src_w = dst_w; - if (data->chflags & CMD_CHFLAG('D')) { + if (cmd_check_flag(data->chflags, 'D')) { src_wp = TAILQ_NEXT(dst_wp, entry); if (src_wp == NULL) src_wp = TAILQ_FIRST(&dst_w->panes); - } else if (data->chflags & CMD_CHFLAG('U')) { + } else if (cmd_check_flag(data->chflags, 'U')) { src_wp = TAILQ_PREV(dst_wp, window_panes, entry); if (src_wp == NULL) src_wp = TAILQ_LAST(&dst_w->panes, window_panes); @@ -120,7 +121,7 @@ cmd_swap_pane_exec(struct cmd *self, struct cmd_ctx *ctx) dst_wp->xoff = xoff; dst_wp->yoff = yoff; window_pane_resize(dst_wp, sx, sy); - if (!(data->chflags & CMD_CHFLAG('d'))) { + if (!cmd_check_flag(data->chflags, 'd')) { if (src_w != dst_w) { window_set_active_pane(src_w, dst_wp); window_set_active_pane(dst_w, src_wp); diff --git a/usr.bin/tmux/cmd-swap-window.c b/usr.bin/tmux/cmd-swap-window.c index 0c06d4d5c60..f6c22626416 100644 --- a/usr.bin/tmux/cmd-swap-window.c +++ b/usr.bin/tmux/cmd-swap-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-swap-window.c,v 1.4 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-swap-window.c,v 1.5 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -31,7 +31,7 @@ int cmd_swap_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_swap_window_entry = { "swap-window", "swapw", "[-d] " CMD_SRCDST_WINDOW_USAGE, - 0, CMD_CHFLAG('d'), + 0, "d", cmd_srcdst_init, cmd_srcdst_parse, cmd_swap_window_exec, @@ -68,7 +68,7 @@ cmd_swap_window_exec(struct cmd *self, struct cmd_ctx *ctx) wl_dst->window = wl_src->window; wl_src->window = w; - if (!(data->chflags & CMD_CHFLAG('d'))) { + if (!cmd_check_flag(data->chflags, 'd')) { session_select(dst, wl_dst->idx); if (src != dst) session_select(src, wl_src->idx); diff --git a/usr.bin/tmux/cmd-switch-client.c b/usr.bin/tmux/cmd-switch-client.c index a2573a9905d..e37e4581024 100644 --- a/usr.bin/tmux/cmd-switch-client.c +++ b/usr.bin/tmux/cmd-switch-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-switch-client.c,v 1.3 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-switch-client.c,v 1.4 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -40,7 +40,7 @@ struct cmd_switch_client_data { const struct cmd_entry cmd_switch_client_entry = { "switch-client", "switchc", "[-c target-client] [-t target-session]", - 0, 0, + 0, "", NULL, cmd_switch_client_parse, cmd_switch_client_exec, diff --git a/usr.bin/tmux/cmd-unbind-key.c b/usr.bin/tmux/cmd-unbind-key.c index 16eb94982a4..b278bb0c2f7 100644 --- a/usr.bin/tmux/cmd-unbind-key.c +++ b/usr.bin/tmux/cmd-unbind-key.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-unbind-key.c,v 1.5 2009/07/28 17:05:10 nicm Exp $ */ +/* $OpenBSD: cmd-unbind-key.c,v 1.6 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -40,7 +40,7 @@ struct cmd_unbind_key_data { const struct cmd_entry cmd_unbind_key_entry = { "unbind-key", "unbind", "[-cn] [-t key-table] key", - 0, 0, + 0, "", NULL, cmd_unbind_key_parse, cmd_unbind_key_exec, diff --git a/usr.bin/tmux/cmd-unlink-window.c b/usr.bin/tmux/cmd-unlink-window.c index 0623751d791..414f5430bba 100644 --- a/usr.bin/tmux/cmd-unlink-window.c +++ b/usr.bin/tmux/cmd-unlink-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-unlink-window.c,v 1.7 2009/10/10 10:02:48 nicm Exp $ */ +/* $OpenBSD: cmd-unlink-window.c,v 1.8 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_unlink_window_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_unlink_window_entry = { "unlink-window", "unlinkw", "[-k] " CMD_TARGET_WINDOW_USAGE, - 0, CMD_CHFLAG('k'), + 0, "k", cmd_target_init, cmd_target_parse, cmd_unlink_window_exec, @@ -59,7 +59,7 @@ cmd_unlink_window_exec(struct cmd *self, struct cmd_ctx *ctx) } else references = 1; - if (!(data->chflags & CMD_CHFLAG('k')) && w->references == references) { + if (!cmd_check_flag(data->chflags, 'k') && w->references == references) { ctx->error(ctx, "window is only linked to one session"); return (-1); } diff --git a/usr.bin/tmux/cmd-up-pane.c b/usr.bin/tmux/cmd-up-pane.c index 576ab456470..cbe572d2c1c 100644 --- a/usr.bin/tmux/cmd-up-pane.c +++ b/usr.bin/tmux/cmd-up-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-up-pane.c,v 1.6 2009/07/26 12:58:44 nicm Exp $ */ +/* $OpenBSD: cmd-up-pane.c,v 1.7 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -29,7 +29,7 @@ int cmd_up_pane_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_up_pane_entry = { "up-pane", "upp", CMD_TARGET_WINDOW_USAGE, - 0, 0, + 0, "", cmd_target_init, cmd_target_parse, cmd_up_pane_exec, diff --git a/usr.bin/tmux/tmux.h b/usr.bin/tmux/tmux.h index c420fdd57f8..90c8afdbb08 100644 --- a/usr.bin/tmux/tmux.h +++ b/usr.bin/tmux/tmux.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.h,v 1.177 2009/11/13 17:33:07 nicm Exp $ */ +/* $OpenBSD: tmux.h,v 1.178 2009/11/13 19:53:29 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -1150,10 +1150,7 @@ struct cmd_entry { #define CMD_ARG12 0x40 int flags; -#define CMD_CHFLAG(flag) \ - ((flag) >= 'a' && (flag) <= 'z' ? 1ULL << ((flag) - 'a') : \ - (flag) >= 'A' && (flag) <= 'Z' ? 1ULL << (26 + (flag) - 'A') : 0) - uint64_t chflags; + const char *chflags; void (*init)(struct cmd *, int); int (*parse)(struct cmd *, int, char **, char **); @@ -1502,6 +1499,8 @@ int cmd_string_parse(const char *, struct cmd_list **, char **); /* cmd-generic.c */ size_t cmd_prarg(char *, size_t, const char *, char *); +int cmd_check_flag(uint64_t, int); +void cmd_set_flag(uint64_t *, int); #define CMD_TARGET_PANE_USAGE "[-t target-pane]" #define CMD_TARGET_WINDOW_USAGE "[-t target-window]" #define CMD_TARGET_SESSION_USAGE "[-t target-session]" |