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

Diff for /src/usr.bin/tmux/key-string.c between version 1.31 and 1.32

version 1.31, 2015/11/14 10:57:59 version 1.32, 2015/11/14 11:45:43
Line 144 
Line 144 
         static const char       *other = "!#()+,-.0123456789:;<=>?'\r\t";          static const char       *other = "!#()+,-.0123456789:;<=>?'\r\t";
         key_code                 key;          key_code                 key;
         u_short                  u;          u_short                  u;
         int                      size, more;          int                      size;
         key_code                 modifiers;          key_code                 modifiers;
         struct utf8_data         ud;          struct utf8_data         ud;
         u_int                    i;          u_int                    i;
           enum utf8_state          more;
   
         /* Is this a hexadecimal value? */          /* Is this a hexadecimal value? */
         if (string[0] == '0' && string[1] == 'x') {          if (string[0] == '0' && string[1] == 'x') {
Line 173 
Line 174 
                         return (KEYC_NONE);                          return (KEYC_NONE);
         } else {          } else {
                 /* Try as a UTF-8 key. */                  /* Try as a UTF-8 key. */
                 if (utf8_open(&ud, (u_char)*string)) {                  if ((more = utf8_open(&ud, (u_char)*string)) == UTF8_MORE) {
                         if (strlen(string) != ud.size)                          if (strlen(string) != ud.size)
                                 return (KEYC_NONE);                                  return (KEYC_NONE);
                         more = 1;  
                         for (i = 1; i < ud.size; i++)                          for (i = 1; i < ud.size; i++)
                                 more = utf8_append(&ud, (u_char)string[i]);                                  more = utf8_append(&ud, (u_char)string[i]);
                         if (more != 0)                          if (more != UTF8_DONE)
                                 return (KEYC_NONE);                                  return (KEYC_NONE);
                         key = utf8_combine(&ud);                          key = utf8_combine(&ud);
                         return (key | modifiers);                          return (key | modifiers);
Line 256 
Line 256 
   
         /* Is this a UTF-8 key? */          /* Is this a UTF-8 key? */
         if (key > 127 && key < KEYC_BASE) {          if (key > 127 && key < KEYC_BASE) {
                 if (utf8_split(key, &ud) == 0) {                  if (utf8_split(key, &ud) == UTF8_DONE) {
                         memcpy(out, ud.data, ud.size);                          memcpy(out, ud.data, ud.size);
                         out[ud.size] = '\0';                          out[ud.size] = '\0';
                         return (out);                          return (out);

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