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

Diff for /src/usr.bin/tmux/utf8.c between version 1.21 and 1.22

version 1.21, 2015/11/14 10:56:31 version 1.22, 2015/11/14 11:13:44
Line 474 
Line 474 
 u_int  u_int
 utf8_combine(const struct utf8_data *ud)  utf8_combine(const struct utf8_data *ud)
 {  {
         u_int   value;          u_int   uc;
   
         value = 0xff;          uc = 0xfffd;
         switch (ud->size) {          switch (ud->size) {
         case 1:          case 1:
                 value = ud->data[0];                  uc = ud->data[0];
                 break;                  break;
         case 2:          case 2:
                 value = ud->data[1] & 0x3f;                  uc = ud->data[1] & 0x3f;
                 value |= (ud->data[0] & 0x1f) << 6;                  uc |= (ud->data[0] & 0x1f) << 6;
                 break;                  break;
         case 3:          case 3:
                 value = ud->data[2] & 0x3f;                  uc = ud->data[2] & 0x3f;
                 value |= (ud->data[1] & 0x3f) << 6;                  uc |= (ud->data[1] & 0x3f) << 6;
                 value |= (ud->data[0] & 0xf) << 12;                  uc |= (ud->data[0] & 0xf) << 12;
                 break;                  break;
         case 4:          case 4:
                 value = ud->data[3] & 0x3f;                  uc = ud->data[3] & 0x3f;
                 value |= (ud->data[2] & 0x3f) << 6;                  uc |= (ud->data[2] & 0x3f) << 6;
                 value |= (ud->data[1] & 0x3f) << 12;                  uc |= (ud->data[1] & 0x3f) << 12;
                 value |= (ud->data[0] & 0x7) << 18;                  uc |= (ud->data[0] & 0x7) << 18;
                 break;                  break;
         }          }
         return (value);          return (uc);
 }  }
   
 /* Split 32-bit Unicode into UTF-8. */  /* Split 32-bit Unicode into UTF-8. */

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22