diff options
| author | Thomas Adam <thomas@xteddy.org> | 2021-08-21 12:01:41 +0100 |
|---|---|---|
| committer | Thomas Adam <thomas@xteddy.org> | 2021-08-21 12:01:41 +0100 |
| commit | 62036121fa3f69a93031f90956e659e090d79a1f (patch) | |
| tree | ff1f52ad0c756d30e0dcc53adf8efd775da80c5a | |
| parent | b0da0cee4d54aa64db0f49eee509a76fd89d6f68 (diff) | |
| parent | 110ba767e591946d6784acef87737850f2ad3ae9 (diff) | |
| download | rtmux-62036121fa3f69a93031f90956e659e090d79a1f.tar.gz rtmux-62036121fa3f69a93031f90956e659e090d79a1f.tar.bz2 rtmux-62036121fa3f69a93031f90956e659e090d79a1f.zip | |
Merge branch 'obsd-master' into master
64 files changed, 123 insertions, 120 deletions
diff --git a/arguments.c b/arguments.c index 92072ad5..6466ea76 100644 --- a/arguments.c +++ b/arguments.c @@ -78,7 +78,7 @@ args_create(void) /* Parse an argv and argc into a new argument set. */ struct args * -args_parse(const char *template, int argc, char **argv, int lower, int upper) +args_parse(const struct args_parse *parse, int argc, char **argv) { struct args *args; int opt; @@ -88,10 +88,10 @@ args_parse(const char *template, int argc, char **argv, int lower, int upper) optarg = NULL; args = args_create(); - while ((opt = getopt(argc, argv, template)) != -1) { + while ((opt = getopt(argc, argv, parse->template)) != -1) { if (opt < 0) continue; - if (opt == '?' || strchr(template, opt) == NULL) { + if (opt == '?' || strchr(parse->template, opt) == NULL) { args_free(args); return (NULL); } @@ -104,7 +104,8 @@ args_parse(const char *template, int argc, char **argv, int lower, int upper) args->argc = argc; args->argv = cmd_copy_argv(argc, argv); - if ((lower != -1 && argc < lower) || (upper != -1 && argc > upper)) { + if ((parse->lower != -1 && argc < parse->lower) || + (parse->upper != -1 && argc > parse->upper)) { args_free(args); return (NULL); } @@ -126,7 +127,7 @@ args_free(struct args *args) RB_REMOVE(args_tree, &args->tree, entry); TAILQ_FOREACH_SAFE(value, &entry->values, entry, value1) { TAILQ_REMOVE(&entry->values, value, entry); - free(value->value); + free(value->string); free(value); } free(entry); @@ -208,7 +209,7 @@ args_print(struct args *args) args_print_add(&buf, &len, " -%c", entry->flag); else args_print_add(&buf, &len, "-%c", entry->flag); - args_print_add_argument(&buf, &len, value->value); + args_print_add_argument(&buf, &len, value->string); } } @@ -297,7 +298,7 @@ args_set(struct args *args, u_char flag, const char *s) if (s != NULL) { value = xcalloc(1, sizeof *value); - value->value = xstrdup(s); + value->string = xstrdup(s); TAILQ_INSERT_TAIL(&entry->values, value, entry); } } @@ -312,7 +313,7 @@ args_get(struct args *args, u_char flag) return (NULL); if (TAILQ_EMPTY(&entry->values)) return (NULL); - return (TAILQ_LAST(&entry->values, args_values)->value); + return (TAILQ_LAST(&entry->values, args_values)->string); } /* Get first argument. */ @@ -385,7 +386,7 @@ args_strtonum(struct args *args, u_char flag, long long minval, } value = TAILQ_LAST(&entry->values, args_values); - ll = strtonum(value->value, minval, maxval, &errstr); + ll = strtonum(value->string, minval, maxval, &errstr); if (errstr != NULL) { *cause = xstrdup(errstr); return (0); @@ -407,7 +408,7 @@ args_percentage(struct args *args, u_char flag, long long minval, *cause = xstrdup("missing"); return (0); } - value = TAILQ_LAST(&entry->values, args_values)->value; + value = TAILQ_LAST(&entry->values, args_values)->string; return (args_string_percentage(value, minval, maxval, curval, cause)); } diff --git a/cmd-attach-session.c b/cmd-attach-session.c index c2074f4f..cc795b22 100644 --- a/cmd-attach-session.c +++ b/cmd-attach-session.c @@ -37,7 +37,7 @@ const struct cmd_entry cmd_attach_session_entry = { .name = "attach-session", .alias = "attach", - .args = { "c:dEf:rt:x", 0, 0 }, + .args = { "c:dEf:rt:x", 0, 0, NULL }, .usage = "[-dErx] [-c working-directory] [-f flags] " CMD_TARGET_SESSION_USAGE, diff --git a/cmd-bind-key.c b/cmd-bind-key.c index 87dd3cf7..a16d054e 100644 --- a/cmd-bind-key.c +++ b/cmd-bind-key.c @@ -33,7 +33,7 @@ const struct cmd_entry cmd_bind_key_entry = { .name = "bind-key", .alias = "bind", - .args = { "nrN:T:", 1, -1 }, + .args = { "nrN:T:", 1, -1, NULL }, .usage = "[-nr] [-T key-table] [-N note] key " "[command [arguments]]", diff --git a/cmd-break-pane.c b/cmd-break-pane.c index 4c436405..4f38d4bd 100644 --- a/cmd-break-pane.c +++ b/cmd-break-pane.c @@ -34,7 +34,7 @@ const struct cmd_entry cmd_break_pane_entry = { .name = "break-pane", .alias = "breakp", - .args = { "abdPF:n:s:t:", 0, 0 }, + .args = { "abdPF:n:s:t:", 0, 0, NULL }, .usage = "[-abdP] [-F format] [-n window-name] [-s src-pane] " "[-t dst-window]", diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c index 6f37bc8f..964f831e 100644 --- a/cmd-capture-pane.c +++ b/cmd-capture-pane.c @@ -39,7 +39,7 @@ const struct cmd_entry cmd_capture_pane_entry = { .name = "capture-pane", .alias = "capturep", - .args = { "ab:CeE:JNpPqS:t:", 0, 0 }, + .args = { "ab:CeE:JNpPqS:t:", 0, 0, NULL }, .usage = "[-aCeJNpPq] " CMD_BUFFER_USAGE " [-E end-line] " "[-S start-line] " CMD_TARGET_PANE_USAGE, @@ -53,7 +53,7 @@ const struct cmd_entry cmd_clear_history_entry = { .name = "clear-history", .alias = "clearhist", - .args = { "t:", 0, 0 }, + .args = { "t:", 0, 0, NULL }, .usage = CMD_TARGET_PANE_USAGE, .target = { 't', CMD_FIND_PANE, 0 }, diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c index 81209ee3..9258f366 100644 --- a/cmd-choose-tree.c +++ b/cmd-choose-tree.c @@ -30,7 +30,7 @@ const struct cmd_entry cmd_choose_tree_entry = { .name = "choose-tree", .alias = NULL, - .args = { "F:f:GK:NO:rst:wZ", 0, 1 }, + .args = { "F:f:GK:NO:rst:wZ", 0, 1, NULL }, .usage = "[-GNrswZ] [-F format] [-f filter] [-K key-format] " "[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]", @@ -44,7 +44,7 @@ const struct cmd_entry cmd_choose_client_entry = { .name = "choose-client", .alias = NULL, - .args = { "F:f:K:NO:rt:Z", 0, 1 }, + .args = { "F:f:K:NO:rt:Z", 0, 1, NULL }, .usage = "[-NrZ] [-F format] [-f filter] [-K key-format] " "[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]", @@ -58,7 +58,7 @@ const struct cmd_entry cmd_choose_buffer_entry = { .name = "choose-buffer", .alias = NULL, - .args = { "F:f:K:NO:rt:Z", 0, 1 }, + .args = { "F:f:K:NO:rt:Z", 0, 1, NULL }, .usage = "[-NrZ] [-F format] [-f filter] [-K key-format] " "[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]", @@ -72,7 +72,7 @@ const struct cmd_entry cmd_customize_mode_entry = { .name = "customize-mode", .alias = NULL, - .args = { "F:f:Nt:Z", 0, 0 }, + .args = { "F:f:Nt:Z", 0, 0, NULL }, .usage = "[-NZ] [-F format] [-f filter] " CMD_TARGET_PANE_USAGE, .target = { 't', CMD_FIND_PANE, 0 }, diff --git a/cmd-command-prompt.c b/cmd-command-prompt.c index 25ec6817..f80760ce 100644 --- a/cmd-command-prompt.c +++ b/cmd-command-prompt.c @@ -40,7 +40,7 @@ const struct cmd_entry cmd_command_prompt_entry = { .name = "command-prompt", .alias = NULL, - .args = { "1bFkiI:Np:t:T:", 0, 1 }, + .args = { "1bFkiI:Np:t:T:", 0, 1, NULL }, .usage = "[-1bFkiN] [-I inputs] [-p prompts] " CMD_TARGET_CLIENT_USAGE " [-T type] [template]", diff --git a/cmd-confirm-before.c b/cmd-confirm-before.c index 9f179aaf..580c379a 100644 --- a/cmd-confirm-before.c +++ b/cmd-confirm-before.c @@ -39,7 +39,7 @@ const struct cmd_entry cmd_confirm_before_entry = { .name = "confirm-before", .alias = "confirm", - .args = { "bp:t:", 1, 1 }, + .args = { "bp:t:", 1, 1, NULL }, .usage = "[-b] [-p prompt] " CMD_TARGET_CLIENT_USAGE " command", .flags = CMD_CLIENT_TFLAG, diff --git a/cmd-copy-mode.c b/cmd-copy-mode.c index d8b4fd3e..8f698ce8 100644 --- a/cmd-copy-mode.c +++ b/cmd-copy-mode.c @@ -30,7 +30,7 @@ const struct cmd_entry cmd_copy_mode_entry = { .name = "copy-mode", .alias = NULL, - .args = { "eHMs:t:uq", 0, 0 }, + .args = { "eHMs:t:uq", 0, 0, NULL }, .usage = "[-eHMuq] [-s src-pane] " CMD_TARGET_PANE_USAGE, .source = { 's', CMD_FIND_PANE, 0 }, @@ -44,7 +44,7 @@ const struct cmd_entry cmd_clock_mode_entry = { .name = "clock-mode", .alias = NULL, - .args = { "t:", 0, 0 }, + .args = { "t:", 0, 0, NULL }, .usage = CMD_TARGET_PANE_USAGE, .target = { 't', CMD_FIND_PANE, 0 }, diff --git a/cmd-detach-client.c b/cmd-detach-client.c index 02a43f4e..661293ae 100644 --- a/cmd-detach-client.c +++ b/cmd-detach-client.c @@ -33,7 +33,7 @@ const struct cmd_entry cmd_detach_client_entry = { .name = "detach-client", .alias = "detach", - .args = { "aE:s:t:P", 0, 0 }, + .args = { "aE:s:t:P", 0, 0, NULL }, .usage = "[-aP] [-E shell-command] " "[-s target-session] " CMD_TARGET_CLIENT_USAGE, @@ -47,7 +47,7 @@ const struct cmd_entry cmd_suspend_client_entry = { .name = "suspend-client", .alias = "suspendc", - .args = { "t:", 0, 0 }, + .args = { "t:", 0, 0, NULL }, .usage = CMD_TARGET_CLIENT_USAGE, .flags = CMD_CLIENT_TFLAG, diff --git a/cmd-display-menu.c b/cmd-display-menu.c index 49ddf13d..f57cf464 100644 --- a/cmd-display-menu.c +++ b/cmd-display-menu.c @@ -36,7 +36,7 @@ const struct cmd_entry cmd_display_menu_entry = { .name = "display-menu", .alias = "menu", - .args = { "c:t:OT:x:y:", 1, -1 }, + .args = { "c:t:OT:x:y:", 1, -1, NULL }, .usage = "[-O] [-c target-client] " CMD_TARGET_PANE_USAGE " [-T title] " "[-x position] [-y position] name key command ...", @@ -50,7 +50,7 @@ const struct cmd_entry cmd_display_popup_entry = { .name = "display-popup", .alias = "popup", - .args = { "BCc:d:Eh:t:w:x:y:", 0, -1 }, + .args = { "BCc:d:Eh:t:w:x:y:", 0, -1, NULL }, .usage = "[-BCE] [-c target-client] [-d start-directory] [-h height] " CMD_TARGET_PANE_USAGE " [-w width] " "[-x position] [-y position] [command]", diff --git a/cmd-display-message.c b/cmd-display-message.c index f4d41e6c..596f0b5c 100644 --- a/cmd-display-message.c +++ b/cmd-display-message.c @@ -39,7 +39,7 @@ const struct cmd_entry cmd_display_message_entry = { .name = "display-message", .alias = "display", - .args = { "ac:d:INpt:F:v", 0, 1 }, + .args = { "ac:d:INpt:F:v", 0, 1, NULL }, .usage = "[-aINpv] [-c target-client] [-d delay] [-F format] " CMD_TARGET_PANE_USAGE " [message]", diff --git a/cmd-display-panes.c b/cmd-display-panes.c index 59484872..bc171638 100644 --- a/cmd-display-panes.c +++ b/cmd-display-panes.c @@ -34,7 +34,7 @@ const struct cmd_entry cmd_display_panes_entry = { .name = "display-panes", .alias = "displayp", - .args = { "bd:Nt:", 0, 1 }, + .args = { "bd:Nt:", 0, 1, NULL }, .usage = "[-bN] [-d duration] " CMD_TARGET_CLIENT_USAGE " [template]", .flags = CMD_AFTERHOOK|CMD_CLIENT_TFLAG, diff --git a/cmd-find-window.c b/cmd-find-window.c index 691baf85..804e8fe4 100644 --- a/cmd-find-window.c +++ b/cmd-find-window.c @@ -32,7 +32,7 @@ const struct cmd_entry cmd_find_window_entry = { .name = "find-window", .alias = "findw", - .args = { "CiNrt:TZ", 1, 1 }, + .args = { "CiNrt:TZ", 1, 1, NULL }, .usage = "[-CiNrTZ] " CMD_TARGET_PANE_USAGE " match-string", .target = { 't', CMD_FIND_PANE, 0 }, diff --git a/cmd-if-shell.c b/cmd-if-shell.c index df06a0b6..28e9b5d1 100644 --- a/cmd-if-shell.c +++ b/cmd-if-shell.c @@ -38,7 +38,7 @@ const struct cmd_entry cmd_if_shell_entry = { .name = "if-shell", .alias = "if", - .args = { "bFt:", 2, 3 }, + .args = { "bFt:", 2, 3, NULL }, .usage = "[-bF] " CMD_TARGET_PANE_USAGE " shell-command command " "[command]", diff --git a/cmd-join-pane.c b/cmd-join-pane.c index d860eeb1..cb3fb343 100644 --- a/cmd-join-pane.c +++ b/cmd-join-pane.c @@ -35,7 +35,7 @@ const struct cmd_entry cmd_join_pane_entry = { .name = "join-pane", .alias = "joinp", - .args = { "bdfhvp:l:s:t:", 0, 0 }, + .args = { "bdfhvp:l:s:t:", 0, 0, NULL }, .usage = "[-bdfhv] [-l size] " CMD_SRCDST_PANE_USAGE, .source = { 's', CMD_FIND_PANE, CMD_FIND_DEFAULT_MARKED }, @@ -49,7 +49,7 @@ const struct cmd_entry cmd_move_pane_entry = { .name = "move-pane", .alias = "movep", - .args = { "bdfhvp:l:s:t:", 0, 0 }, + .args = { "bdfhvp:l:s:t:", 0, 0, NULL }, .usage = "[-bdfhv] [-l size] " CMD_SRCDST_PANE_USAGE, .source = { 's', CMD_FIND_PANE, CMD_FIND_DEFAULT_MARKED }, diff --git a/cmd-kill-pane.c b/cmd-kill-pane.c index 3bf6e26e..e1134a1e 100644 --- a/cmd-kill-pane.c +++ b/cmd-kill-pane.c @@ -32,7 +32,7 @@ const struct cmd_entry cmd_kill_pane_entry = { .name = "kill-pane", .alias = "killp", - .args = { "at:", 0, 0 }, + .args = { "at:", 0, 0, NULL }, .usage = "[-a] " CMD_TARGET_PANE_USAGE, .target = { 't', CMD_FIND_PANE, 0 }, diff --git a/cmd-kill-server.c b/cmd-kill-server.c index 76bcf267..7bb79e3d 100644 --- a/cmd-kill-server.c +++ b/cmd-kill-server.c @@ -33,7 +33,7 @@ const struct cmd_entry cmd_kill_server_entry = { .name = "kill-server", .alias = NULL, - .args = { "", 0, 0 }, + .args = { "", 0, 0, NULL }, .usage = "", .flags = 0, @@ -44,7 +44,7 @@ const struct cmd_entry cmd_start_server_entry = { .name = "start-server", .alias = "start", - .args = { "", 0, 0 }, + .args = { "", 0, 0, NULL }, .usage = "", .flags = CMD_STARTSERVER, diff --git a/cmd-kill-session.c b/cmd-kill-session.c index c10efba6..19a8d495 100644 --- a/cmd-kill-session.c +++ b/cmd-kill-session.c @@ -33,7 +33,7 @@ const struct cmd_entry cmd_kill_session_entry = { .name = "kill-session", .alias = NULL, - .args = { "aCt:", 0, 0 }, + .args = { "aCt:", 0, 0, NULL }, .usage = "[-aC] " CMD_TARGET_SESSION_USAGE, .target = { 't', CMD_FIND_SESSION, 0 }, diff --git a/cmd-kill-window.c b/cmd-kill-window.c index 430f667e..f5ff05f8 100644 --- a/cmd-kill-window.c +++ b/cmd-kill-window.c @@ -30,7 +30,7 @@ const struct cmd_entry cmd_kill_window_entry = { .name = "kill-window", .alias = "killw", - .args = { "at:", 0, 0 }, + .args = { "at:", 0, 0, NULL }, .usage = "[-a] " CMD_TARGET_WINDOW_USAGE, .target = { 't', CMD_FIND_WINDOW, 0 }, @@ -43,7 +43,7 @@ const struct cmd_entry cmd_unlink_window_entry = { .name = "unlink-window", .alias = "unlinkw", - .args = { "kt:", 0, 0 }, + .args = { "kt:", 0, 0, NULL }, .usage = "[-k] " CMD_TARGET_WINDOW_USAGE, .target = { 't', CMD_FIND_WINDOW, 0 }, diff --git a/cmd-list-buffers.c b/cmd-list-buffers.c index 45d5a4ee..8b12f0b3 100644 --- a/cmd-list-buffers.c +++ b/cmd-list-buffers.c @@ -36,7 +36,7 @@ const struct cmd_entry cmd_list_buffers_entry = { .name = "list-buffers", .alias = "lsb", - .args = { "F:f:", 0, 0 }, + .args = { "F:f:", 0, 0, NULL }, .usage = "[-F format] [-f filter]", .flags = CMD_AFTERHOOK, diff --git a/cmd-list-clients.c b/cmd-list-clients.c index d450f017..a5b7d147 100644 --- a/cmd-list-clients.c +++ b/cmd-list-clients.c @@ -39,7 +39,7 @@ const struct cmd_entry cmd_list_clients_entry = { .name = "list-clients", .alias = "lsc", - .args = { "F:t:", 0, 0 }, + .args = { "F:t:", 0, 0, NULL }, .usage = "[-F format] " CMD_TARGET_SESSION_USAGE, .target = { 't', CMD_FIND_SESSION, 0 }, diff --git a/cmd-list-keys.c b/cmd-list-keys.c index 1484af6d..ae9f995c 100644 --- a/cmd-list-keys.c +++ b/cmd-list-keys.c @@ -36,7 +36,7 @@ const struct cmd_entry cmd_list_keys_entry = { .name = "list-keys", .alias = "lsk", - .args = { "1aNP:T:", 0, 1 }, + .args = { "1aNP:T:", 0, 1, NULL }, .usage = "[-1aN] [-P prefix-string] [-T key-table] [key]", .flags = CMD_STARTSERVER|CMD_AFTERHOOK, @@ -47,7 +47,7 @@ const struct cmd_entry cmd_list_commands_entry = { .name = "list-commands", .alias = "lscm", - .args = { "F:", 0, 1 }, + .args = { "F:", 0, 1, NULL }, .usage = "[-F format] [command]", .flags = CMD_STARTSERVER|CMD_AFTERHOOK, diff --git a/cmd-list-panes.c b/cmd-list-panes.c index c6dcff23..a29a4032 100644 --- a/cmd-list-panes.c +++ b/cmd-list-panes.c @@ -38,7 +38,7 @@ const struct cmd_entry cmd_list_panes_entry = { .name = "list-panes", .alias = "lsp", - .args = { "asF:f:t:", 0, 0 }, + .args = { "asF:f:t:", 0, 0, NULL }, .usage = "[-as] [-F format] [-f filter] " CMD_TARGET_WINDOW_USAGE, .target = { 't', CMD_FIND_WINDOW, 0 }, diff --git a/cmd-list-sessions.c b/cmd-list-sessions.c index fbc3db1d..e448524e 100644 --- a/cmd-list-sessions.c +++ b/cmd-list-sessions.c @@ -42,7 +42,7 @@ const struct cmd_entry cmd_list_sessions_entry = { .name = "list-sessions", .alias = "ls", - .args = { "F:f:", 0, 0 }, + .args = { "F:f:", 0, 0, NULL }, .usage = "[-F format] [-f filter]", .flags = CMD_AFTERHOOK, diff --git a/cmd-list-windows.c b/cmd-list-windows.c index d6cc0b7a..035471d4 100644 --- a/cmd-list-windows.c +++ b/cmd-list-windows.c @@ -49,7 +49,7 @@ const struct cmd_entry cmd_list_windows_entry = { .name = "list-windows", .alias = "lsw", - .args = { "F:f:at:", 0, 0 }, + .args = { "F:f:at:", 0, 0, NULL }, .usage = "[-a] [-F format] [-f filter] " CMD_TARGET_SESSION_USAGE, .target = { 't', CMD_FIND_SESSION, 0 }, diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c index 318a7467..59810dea 100644 --- a/cmd-load-buffer.c +++ b/cmd-load-buffer.c @@ -37,7 +37,7 @@ const struct cmd_entry cmd_load_buffer_entry = { .name = "load-buffer", .alias = "loadb", - .args = { "b:t:w", 1, 1 }, + .args = { "b:t:w", 1, 1, NULL }, .usage = CMD_BUFFER_USAGE " " CMD_TARGET_CLIENT_USAGE " path", .flags = CMD_AFTERHOOK|CMD_CLIENT_TFLAG|CMD_CLIENT_CANFAIL, diff --git a/cmd-lock-server.c b/cmd-lock-server.c index a0df95b0..bd61dcff 100644 --- a/cmd-lock-server.c +++ b/cmd-lock-server.c @@ -30,7 +30,7 @@ const struct cmd_entry cmd_lock_server_entry = { .name = "lock-server", .alias = "lock", - .args = { "", 0, 0 }, + .args = { "", 0, 0, NULL }, .usage = "", .flags = CMD_AFTERHOOK, @@ -41,7 +41,7 @@ const struct cmd_entry cmd_lock_session_entry = { .name = "lock-session", .alias = "locks", - .args = { "t:", 0, 0 }, + .args = { "t:", 0, 0, NULL }, .usage = CMD_TARGET_SESSION_USAGE, .target = { 't', CMD_FIND_SESSION, 0 }, @@ -54,7 +54,7 @@ const struct cmd_entry cmd_lock_client_entry = { .name = "lock-client", .alias = "lockc", - .args = { "t:", 0, 0 }, + .args = { "t:", 0, 0, NULL }, .usage = CMD_TARGET_CLIENT_USAGE, .flags = CMD_AFTERHOOK|CMD_CLIENT_TFLAG, diff --git a/cmd-move-window.c b/cmd-move-window.c index 61128771..4b90e70f 100644 --- a/cmd-move-window.c +++ b/ |