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

Diff for /src/usr.bin/tmux/format.c between version 1.88 and 1.89

version 1.88, 2015/10/27 09:18:06 version 1.89, 2015/10/27 09:28:31
Line 670 
Line 670 
         char            *copy, *copy0, *endptr, *ptr, *saved, *trimmed, *value;          char            *copy, *copy0, *endptr, *ptr, *saved, *trimmed, *value;
         size_t           valuelen;          size_t           valuelen;
         u_long           limit = 0;          u_long           limit = 0;
         int              modifiers = 0;          int              modifiers = 0, brackets;
   
         /* Make a copy of the key. */          /* Make a copy of the key. */
         copy0 = copy = xmalloc(keylen + 1);          copy0 = copy = xmalloc(keylen + 1);
Line 718 
Line 718 
                         goto fail;                          goto fail;
                 *ptr = '\0';                  *ptr = '\0';
   
                 value = saved = format_find(ft, copy + 1, modifiers);                  value = ptr + 1;
                 if (value != NULL && *value != '\0' &&                  saved = format_find(ft, copy + 1, modifiers);
                     (value[0] != '0' || value[1] != '\0')) {  
                         value = ptr + 1;                  brackets = 0;
                         ptr = strchr(value, ',');                  for (ptr = ptr + 1; *ptr != '\0'; ptr++) {
                         if (ptr == NULL)                          if (*ptr == '{')
                                 goto fail;                                  brackets++;
                           if (*ptr == '}')
                                   brackets--;
                           if (*ptr == ',' && brackets == 0)
                                   break;
                   }
                   if (*ptr == '\0')
                           goto fail;
   
                   if (saved != NULL && *saved != '\0' &&
                       (saved[0] != '0' || saved[1] != '\0')) {
                         *ptr = '\0';                          *ptr = '\0';
                 } else {                  } else
                         ptr = strchr(ptr + 1, ',');  
                         if (ptr == NULL)  
                                 goto fail;  
                         value = ptr + 1;                          value = ptr + 1;
                 }  
                 value = format_expand(ft, value);                  value = format_expand(ft, value);
                 free(saved);                  free(saved);
                 saved = value;                  saved = value;

Legend:
Removed from v.1.88  
changed lines
  Added in v.1.89