[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.52 and 1.53

version 1.52, 2021/11/02 10:57:04 version 1.53, 2022/03/03 08:24:12
Line 131 
Line 131 
         u_int                    i;          u_int                    i;
         enum args_parse_type     type;          enum args_parse_type     type;
         struct args_value       *value, *new;          struct args_value       *value, *new;
         u_char                   flag, argument;          u_char                   flag;
         const char              *found, *string, *s;          const char              *found, *string, *s;
           int                      optional_argument;
   
         if (count == 0)          if (count == 0)
                 return (args_create());                  return (args_create());
Line 169 
Line 170 
                                 args_free(args);                                  args_free(args);
                                 return (NULL);                                  return (NULL);
                         }                          }
                         argument = *++found;                          if (*++found != ':') {
                         if (argument != ':') {  
                                 log_debug("%s: -%c", __func__, flag);                                  log_debug("%s: -%c", __func__, flag);
                                 args_set(args, flag, NULL);                                  args_set(args, flag, NULL);
                                 continue;                                  continue;
                         }                          }
                           if (*found == ':') {
                                   optional_argument = 1;
                                   found++;
                           }
                         new = xcalloc(1, sizeof *new);                          new = xcalloc(1, sizeof *new);
                         if (*string != '\0') {                          if (*string != '\0') {
                                 new->type = ARGS_STRING;                                  new->type = ARGS_STRING;
                                 new->string = xstrdup(string);                                  new->string = xstrdup(string);
                         } else {                          } else {
                                 if (i == count) {                                  if (i == count) {
                                           if (optional_argument) {
                                                   log_debug("%s: -%c", __func__,
                                                       flag);
                                                   args_set(args, flag, NULL);
                                                   continue;
                                           }
                                         xasprintf(cause,                                          xasprintf(cause,
                                             "-%c expects an argument",                                              "-%c expects an argument",
                                             flag);                                              flag);

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.53