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

Diff for /src/usr.bin/tmux/screen-write.c between version 1.78 and 1.79

version 1.78, 2015/11/14 10:56:31 version 1.79, 2015/11/14 11:45:43
Line 115 
Line 115 
         struct utf8_data        ud;          struct utf8_data        ud;
         u_char                 *ptr;          u_char                 *ptr;
         size_t                  left, size = 0;          size_t                  left, size = 0;
         int                     more;          enum utf8_state         more;
   
         va_start(ap, fmt);          va_start(ap, fmt);
         xvasprintf(&msg, fmt, ap);          xvasprintf(&msg, fmt, ap);
Line 123 
Line 123 
   
         ptr = msg;          ptr = msg;
         while (*ptr != '\0') {          while (*ptr != '\0') {
                 if (*ptr > 0x7f && utf8_open(&ud, *ptr)) {                  if (*ptr > 0x7f && utf8_open(&ud, *ptr) == UTF8_MORE) {
                         ptr++;                          ptr++;
   
                         left = strlen(ptr);                          left = strlen(ptr);
                         if (left < (size_t)ud.size - 1)                          if (left < (size_t)ud.size - 1)
                                 break;                                  break;
                         while ((more = utf8_append(&ud, *ptr)) == 1)                          while ((more = utf8_append(&ud, *ptr)) == UTF8_MORE)
                                 ptr++;                                  ptr++;
                         ptr++;                          ptr++;
   
                         if (more == 0)                          if (more == UTF8_DONE)
                                 size += ud.width;                                  size += ud.width;
                 } else {                  } else {
                         if (*ptr > 0x1f && *ptr < 0x7f)                          if (*ptr > 0x1f && *ptr < 0x7f)
Line 178 
Line 178 
         struct utf8_data        ud;          struct utf8_data        ud;
         u_char                 *ptr;          u_char                 *ptr;
         size_t                  left, size = 0;          size_t                  left, size = 0;
         int                     more;          enum utf8_state         more;
   
         xvasprintf(&msg, fmt, ap);          xvasprintf(&msg, fmt, ap);
   
         ptr = msg;          ptr = msg;
         while (*ptr != '\0') {          while (*ptr != '\0') {
                 if (*ptr > 0x7f && utf8_open(&ud, *ptr)) {                  if (*ptr > 0x7f && utf8_open(&ud, *ptr) == UTF8_MORE) {
                         ptr++;                          ptr++;
   
                         left = strlen(ptr);                          left = strlen(ptr);
                         if (left < (size_t)ud.size - 1)                          if (left < (size_t)ud.size - 1)
                                 break;                                  break;
                         while ((more = utf8_append(&ud, *ptr)) == 1)                          while ((more = utf8_append(&ud, *ptr)) == UTF8_MORE)
                                 ptr++;                                  ptr++;
                         ptr++;                          ptr++;
   
                         if (more == 0) {                          if (more == UTF8_DONE) {
                                 if (maxlen > 0 &&                                  if (maxlen > 0 &&
                                     size + ud.width > (size_t) maxlen) {                                      size + ud.width > (size_t) maxlen) {
                                         while (size < (size_t) maxlen) {                                          while (size < (size_t) maxlen) {
Line 236 
Line 236 
         char                    *msg;          char                    *msg;
         u_char                  *ptr, *last;          u_char                  *ptr, *last;
         size_t                   left, size = 0;          size_t                   left, size = 0;
         int                      more;          enum utf8_state          more;
   
         va_start(ap, fmt);          va_start(ap, fmt);
         xvasprintf(&msg, fmt, ap);          xvasprintf(&msg, fmt, ap);
Line 260 
Line 260 
                         continue;                          continue;
                 }                  }
   
                 if (*ptr > 0x7f && utf8_open(&ud, *ptr)) {                  if (*ptr > 0x7f && utf8_open(&ud, *ptr) == UTF8_MORE) {
                         ptr++;                          ptr++;
   
                         left = strlen(ptr);                          left = strlen(ptr);
                         if (left < (size_t)ud.size - 1)                          if (left < (size_t)ud.size - 1)
                                 break;                                  break;
                         while ((more = utf8_append(&ud, *ptr)) == 1)                          while ((more = utf8_append(&ud, *ptr)) == UTF8_MORE)
                                 ptr++;                                  ptr++;
                         ptr++;                          ptr++;
   
                         if (more == 0) {                          if (more == UTF8_DONE) {
                                 if (maxlen > 0 &&                                  if (maxlen > 0 &&
                                     size + ud.width > (size_t) maxlen) {                                      size + ud.width > (size_t) maxlen) {
                                         while (size < (size_t) maxlen) {                                          while (size < (size_t) maxlen) {

Legend:
Removed from v.1.78  
changed lines
  Added in v.1.79