=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/arguments.c,v retrieving revision 1.39 retrieving revision 1.40 diff -c -r1.39 -r1.40 *** src/usr.bin/tmux/arguments.c 2021/08/20 20:08:30 1.39 --- src/usr.bin/tmux/arguments.c 2021/08/21 08:44:59 1.40 *************** *** 1,4 **** ! /* $OpenBSD: arguments.c,v 1.39 2021/08/20 20:08:30 nicm Exp $ */ /* * Copyright (c) 2010 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: arguments.c,v 1.40 2021/08/21 08:44:59 nicm Exp $ */ /* * Copyright (c) 2010 Nicholas Marriott *************** *** 79,85 **** /* 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) { struct args *args; int opt; --- 79,85 ---- /* Parse an argv and argc into a new argument set. */ struct args * ! args_parse(const struct args_parse *parse, int argc, char **argv) { struct args *args; int opt; *************** *** 89,98 **** optarg = NULL; args = args_create(); ! while ((opt = getopt(argc, argv, template)) != -1) { if (opt < 0) continue; ! if (opt == '?' || strchr(template, opt) == NULL) { args_free(args); return (NULL); } --- 89,98 ---- optarg = NULL; args = args_create(); ! while ((opt = getopt(argc, argv, parse->template)) != -1) { if (opt < 0) continue; ! if (opt == '?' || strchr(parse->template, opt) == NULL) { args_free(args); return (NULL); } *************** *** 105,111 **** args->argc = argc; args->argv = cmd_copy_argv(argc, argv); ! if ((lower != -1 && argc < lower) || (upper != -1 && argc > upper)) { args_free(args); return (NULL); } --- 105,112 ---- args->argc = argc; args->argv = cmd_copy_argv(argc, argv); ! if ((parse->lower != -1 && argc < parse->lower) || ! (parse->upper != -1 && argc > parse->upper)) { args_free(args); return (NULL); }