mirror of
https://github.com/tmux/tmux.git
synced 2026-03-05 23:35:35 +00:00
Validate -O flags, from Dane Jensen in GitHub issue 4889.
This commit is contained in:
@@ -98,6 +98,13 @@ cmd_choose_tree_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
struct cmd_find_state *target = cmdq_get_target(item);
|
struct cmd_find_state *target = cmdq_get_target(item);
|
||||||
struct window_pane *wp = target->wp;
|
struct window_pane *wp = target->wp;
|
||||||
const struct window_mode *mode;
|
const struct window_mode *mode;
|
||||||
|
enum sort_order order;
|
||||||
|
|
||||||
|
order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
if (cmd_get_entry(self) == &cmd_choose_buffer_entry) {
|
if (cmd_get_entry(self) == &cmd_choose_buffer_entry) {
|
||||||
if (paste_is_empty())
|
if (paste_is_empty())
|
||||||
|
|||||||
@@ -60,6 +60,10 @@ cmd_list_buffers_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
filter = args_get(args, 'f');
|
filter = args_get(args, 'f');
|
||||||
|
|
||||||
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (sort_crit.order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
sort_crit.reversed = args_has(args, 'r');
|
sort_crit.reversed = args_has(args, 'r');
|
||||||
|
|
||||||
l = sort_get_buffers(&n, &sort_crit);
|
l = sort_get_buffers(&n, &sort_crit);
|
||||||
|
|||||||
@@ -74,6 +74,10 @@ cmd_list_clients_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
filter = args_get(args, 'f');
|
filter = args_get(args, 'f');
|
||||||
|
|
||||||
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (sort_crit.order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
sort_crit.reversed = args_has(args, 'r');
|
sort_crit.reversed = args_has(args, 'r');
|
||||||
|
|
||||||
l = sort_get_clients(&n, &sort_crit);
|
l = sort_get_clients(&n, &sort_crit);
|
||||||
|
|||||||
@@ -189,6 +189,10 @@ cmd_list_keys_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
}
|
}
|
||||||
|
|
||||||
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (sort_crit.order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
sort_crit.reversed = args_has(args, 'r');
|
sort_crit.reversed = args_has(args, 'r');
|
||||||
|
|
||||||
prefix = cmd_list_keys_get_prefix(args);
|
prefix = cmd_list_keys_get_prefix(args);
|
||||||
|
|||||||
@@ -55,6 +55,13 @@ cmd_list_panes_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
struct cmd_find_state *target = cmdq_get_target(item);
|
struct cmd_find_state *target = cmdq_get_target(item);
|
||||||
struct session *s = target->s;
|
struct session *s = target->s;
|
||||||
struct winlink *wl = target->wl;
|
struct winlink *wl = target->wl;
|
||||||
|
enum sort_order order;
|
||||||
|
|
||||||
|
order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
if (args_has(args, 'a'))
|
if (args_has(args, 'a'))
|
||||||
cmd_list_panes_server(self, item);
|
cmd_list_panes_server(self, item);
|
||||||
|
|||||||
@@ -66,6 +66,10 @@ cmd_list_sessions_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
filter = args_get(args, 'f');
|
filter = args_get(args, 'f');
|
||||||
|
|
||||||
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (sort_crit.order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
sort_crit.reversed = args_has(args, 'r');
|
sort_crit.reversed = args_has(args, 'r');
|
||||||
|
|
||||||
l = sort_get_sessions(&n, &sort_crit);
|
l = sort_get_sessions(&n, &sort_crit);
|
||||||
|
|||||||
@@ -73,6 +73,10 @@ cmd_list_windows_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
filter = args_get(args, 'f');
|
filter = args_get(args, 'f');
|
||||||
|
|
||||||
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (sort_crit.order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
sort_crit.reversed = args_has(args, 'r');
|
sort_crit.reversed = args_has(args, 'r');
|
||||||
|
|
||||||
if (args_has(args, 'a')) {
|
if (args_has(args, 'a')) {
|
||||||
|
|||||||
@@ -97,6 +97,10 @@ cmd_switch_client_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
}
|
}
|
||||||
|
|
||||||
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
sort_crit.order = sort_order_from_string(args_get(args, 'O'));
|
||||||
|
if (sort_crit.order == SORT_END && args_has(args, 'O')) {
|
||||||
|
cmdq_error(item, "invalid sort order");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
sort_crit.reversed = args_has(args, 'r');
|
sort_crit.reversed = args_has(args, 'r');
|
||||||
|
|
||||||
if (args_has(args, 'n')) {
|
if (args_has(args, 'n')) {
|
||||||
|
|||||||
Reference in New Issue
Block a user