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

Diff for /src/usr.bin/tmux/tty-acs.c between version 1.5 and 1.6

version 1.5, 2016/10/03 22:52:11 version 1.6, 2017/05/15 16:44:04
Line 74 
Line 74 
         return (ch - entry->key);          return (ch - entry->key);
 }  }
   
   /* Should this terminal use ACS instead of UTF-8 line drawing? */
   int
   tty_acs_needed(struct tty *tty)
   {
           if (tty == NULL)
                   return (0);
   
           /*
            * If the U8 flag is present, it marks whether a terminal supports
            * UTF-8 and ACS together.
            *
            * If it is present and zero, we force ACS - this gives users a way to
            * turn off UTF-8 line drawing.
            *
            * If it is nonzero, we can fall through to the default and use UTF-8
            * line drawing on UTF-8 terminals.
            */
           if (tty_term_has(tty->term, TTYC_U8) &&
               tty_term_number(tty->term, TTYC_U8) == 0)
                   return (1);
   
           if (tty->flags & TTY_UTF8)
                   return (0);
           return (1);
   }
   
 /* Retrieve ACS to output as a string. */  /* Retrieve ACS to output as a string. */
 const char *  const char *
 tty_acs_get(struct tty *tty, u_char ch)  tty_acs_get(struct tty *tty, u_char ch)
 {  {
         struct tty_acs_entry *entry;          struct tty_acs_entry    *entry;
   
         /* If not a UTF-8 terminal, use the ACS set. */          /* Use the ACS set instead of UTF-8 if needed. */
         if (tty != NULL && !(tty->flags & TTY_UTF8)) {          if (tty_acs_needed(tty)) {
                 if (tty->term->acs[ch][0] == '\0')                  if (tty->term->acs[ch][0] == '\0')
                         return (NULL);                          return (NULL);
                 return (&tty->term->acs[ch][0]);                  return (&tty->term->acs[ch][0]);
         }          }
   
         /* Otherwise look up the UTF-8 translation. */          /* Otherwise look up the UTF-8 translation. */
         entry = bsearch(&ch,          entry = bsearch(&ch, tty_acs_table, nitems(tty_acs_table),
             tty_acs_table, nitems(tty_acs_table), sizeof tty_acs_table[0],              sizeof tty_acs_table[0], tty_acs_cmp);
             tty_acs_cmp);  
         if (entry == NULL)          if (entry == NULL)
                 return (NULL);                  return (NULL);
         return (entry->string);          return (entry->string);

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6