[BACK]Return to arguments.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/arguments.c between version 1.39 and 1.40

version 1.39, 2021/08/20 20:08:30 version 1.40, 2021/08/21 08:44:59
Line 79 
Line 79 
   
 /* Parse an argv and argc into a new argument set. */  /* Parse an argv and argc into a new argument set. */
 struct args *  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;          struct args     *args;
         int              opt;          int              opt;
Line 89 
Line 89 
         optarg = NULL;          optarg = NULL;
   
         args = args_create();          args = args_create();
         while ((opt = getopt(argc, argv, template)) != -1) {          while ((opt = getopt(argc, argv, parse->template)) != -1) {
                 if (opt < 0)                  if (opt < 0)
                         continue;                          continue;
                 if (opt == '?' || strchr(template, opt) == NULL) {                  if (opt == '?' || strchr(parse->template, opt) == NULL) {
                         args_free(args);                          args_free(args);
                         return (NULL);                          return (NULL);
                 }                  }
Line 105 
Line 105 
         args->argc = argc;          args->argc = argc;
         args->argv = cmd_copy_argv(argc, argv);          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);                  args_free(args);
                 return (NULL);                  return (NULL);
         }          }

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.40