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

Diff for /src/usr.bin/tmux/attributes.c between version 1.2 and 1.3

version 1.2, 2009/06/02 11:14:08 version 1.3, 2009/11/26 21:22:31
Line 23 
Line 23 
 #include "tmux.h"  #include "tmux.h"
   
 const char *  const char *
 attributes_tostring(u_char ch)  attributes_tostring(u_char attr)
 {  {
         static char     buf[128];          static char     buf[128];
   
         if (ch == 0)          if (attr == 0)
                 return ("default");                  return ("default");
   
         buf[0] = '\0';          buf[0] = '\0';
         if (ch & GRID_ATTR_BRIGHT)          if (attr & GRID_ATTR_BRIGHT)
                 strlcat(buf, "bright,", sizeof (buf));                  strlcat(buf, "bright,", sizeof (buf));
         if (ch & GRID_ATTR_DIM)          if (attr & GRID_ATTR_DIM)
                 strlcat(buf, "dim,", sizeof (buf));                  strlcat(buf, "dim,", sizeof (buf));
         if (ch & GRID_ATTR_UNDERSCORE)          if (attr & GRID_ATTR_UNDERSCORE)
                 strlcat(buf, "underscore,", sizeof (buf));                  strlcat(buf, "underscore,", sizeof (buf));
         if (ch & GRID_ATTR_BLINK)          if (attr & GRID_ATTR_BLINK)
                 strlcat(buf, "blink,", sizeof (buf));                  strlcat(buf, "blink,", sizeof (buf));
         if (ch & GRID_ATTR_REVERSE)          if (attr & GRID_ATTR_REVERSE)
                 strlcat(buf, "reverse,", sizeof (buf));                  strlcat(buf, "reverse,", sizeof (buf));
         if (ch & GRID_ATTR_HIDDEN)          if (attr & GRID_ATTR_HIDDEN)
                 strlcat(buf, "hidden,", sizeof (buf));                  strlcat(buf, "hidden,", sizeof (buf));
         if (ch & GRID_ATTR_ITALICS)          if (attr & GRID_ATTR_ITALICS)
                 strlcat(buf, "italics,", sizeof (buf));                  strlcat(buf, "italics,", sizeof (buf));
         if (*buf)          if (*buf != '\0')
                 *(strrchr(buf, ',')) = '\0';                  *(strrchr(buf, ',')) = '\0';
   
         return (buf);          return (buf);
Line 55 
Line 55 
 attributes_fromstring(const char *str)  attributes_fromstring(const char *str)
 {  {
         const char      delimiters[] = " ,|";          const char      delimiters[] = " ,|";
         u_char          ch;          u_char          attr;
         size_t          end;          size_t          end;
   
         if (*str == '\0' || strcspn(str, delimiters) == 0)          if (*str == '\0' || strcspn(str, delimiters) == 0)
Line 66 
Line 66 
         if (strcasecmp(str, "default") == 0)          if (strcasecmp(str, "default") == 0)
                 return (0);                  return (0);
   
         ch = 0;          attr = 0;
         do {          do {
                 end = strcspn(str, delimiters);                  end = strcspn(str, delimiters);
                 if ((end == 6 && strncasecmp(str, "bright", end) == 0) ||                  if ((end == 6 && strncasecmp(str, "bright", end) == 0) ||
                     (end == 4 && strncasecmp(str, "bold", end) == 0))                      (end == 4 && strncasecmp(str, "bold", end) == 0))
                         ch |= GRID_ATTR_BRIGHT;                          attr |= GRID_ATTR_BRIGHT;
                 else if (end == 3 && strncasecmp(str, "dim", end) == 0)                  else if (end == 3 && strncasecmp(str, "dim", end) == 0)
                         ch |= GRID_ATTR_DIM;                          attr |= GRID_ATTR_DIM;
                 else if (end == 10 && strncasecmp(str, "underscore", end) == 0)                  else if (end == 10 && strncasecmp(str, "underscore", end) == 0)
                         ch |= GRID_ATTR_UNDERSCORE;                          attr |= GRID_ATTR_UNDERSCORE;
                 else if (end == 5 && strncasecmp(str, "blink", end) == 0)                  else if (end == 5 && strncasecmp(str, "blink", end) == 0)
                         ch |= GRID_ATTR_BLINK;                          attr |= GRID_ATTR_BLINK;
                 else if (end == 7 && strncasecmp(str, "reverse", end) == 0)                  else if (end == 7 && strncasecmp(str, "reverse", end) == 0)
                         ch |= GRID_ATTR_REVERSE;                          attr |= GRID_ATTR_REVERSE;
                 else if (end == 6 && strncasecmp(str, "hidden", end) == 0)                  else if (end == 6 && strncasecmp(str, "hidden", end) == 0)
                         ch |= GRID_ATTR_HIDDEN;                          attr |= GRID_ATTR_HIDDEN;
                 else if (end == 7 && strncasecmp(str, "italics", end) == 0)                  else if (end == 7 && strncasecmp(str, "italics", end) == 0)
                         ch |= GRID_ATTR_ITALICS;                          attr |= GRID_ATTR_ITALICS;
                 else                  else
                         return (-1);                          return (-1);
                 str += end + strspn(str + end, delimiters);                  str += end + strspn(str + end, delimiters);
         } while (*str != '\0');          } while (*str != '\0');
   
         return (ch);          return (attr);
 }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3