[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.30 and 1.31

version 1.30, 2020/04/12 20:54:28 version 1.31, 2020/04/22 06:57:13
Line 352 
Line 352 
 args_percentage(struct args *args, u_char ch, long long minval,  args_percentage(struct args *args, u_char ch, long long minval,
     long long maxval, long long curval, char **cause)      long long maxval, long long curval, char **cause)
 {  {
         const char              *errstr;          const char              *value;
         long long                ll;  
         struct args_entry       *entry;          struct args_entry       *entry;
         struct args_value       *value;  
         size_t                   valuelen;  
         char                    *copy;  
   
         if ((entry = args_find(args, ch)) == NULL) {          if ((entry = args_find(args, ch)) == NULL) {
                 *cause = xstrdup("missing");                  *cause = xstrdup("missing");
                 return (0);                  return (0);
         }          }
         value = TAILQ_LAST(&entry->values, args_values);          value = TAILQ_LAST(&entry->values, args_values)->value;
         valuelen = strlen(value->value);          return (args_string_percentage(value, minval, maxval, curval, cause));
   }
   
         if (value->value[valuelen - 1] == '%') {  /* Convert a string to a number which may be a percentage. */
                 copy = xstrdup(value->value);  long long
   args_string_percentage(const char *value, long long minval, long long maxval,
       long long curval, char **cause)
   {
           const char      *errstr;
           long long        ll;
           size_t           valuelen = strlen(value);
           char            *copy;
   
           if (value[valuelen - 1] == '%') {
                   copy = xstrdup(value);
                 copy[valuelen - 1] = '\0';                  copy[valuelen - 1] = '\0';
   
                 ll = strtonum(copy, 0, 100, &errstr);                  ll = strtonum(copy, 0, 100, &errstr);
Line 386 
Line 393 
                         return (0);                          return (0);
                 }                  }
         } else {          } else {
                 ll = strtonum(value->value, minval, maxval, &errstr);                  ll = strtonum(value, minval, maxval, &errstr);
                 if (errstr != NULL) {                  if (errstr != NULL) {
                         *cause = xstrdup(errstr);                          *cause = xstrdup(errstr);
                         return (0);                          return (0);

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31