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

Diff for /src/usr.bin/tmux/status.c between version 1.126 and 1.127

version 1.126, 2015/04/24 22:19:36 version 1.127, 2015/04/25 18:33:59
Line 636 
Line 636 
 status_message_set(struct client *c, const char *fmt, ...)  status_message_set(struct client *c, const char *fmt, ...)
 {  {
         struct timeval           tv;          struct timeval           tv;
         struct message_entry    *msg;          struct message_entry    *msg, *msg1;
         va_list                  ap;          va_list                  ap;
         int                      delay;          int                      delay;
         u_int                    i, limit;          u_int                    first, limit;
   
           limit = options_get_number(&global_options, "message-limit");
   
         status_prompt_clear(c);          status_prompt_clear(c);
         status_message_clear(c);          status_message_clear(c);
   
Line 648 
Line 650 
         xvasprintf(&c->message_string, fmt, ap);          xvasprintf(&c->message_string, fmt, ap);
         va_end(ap);          va_end(ap);
   
         ARRAY_EXPAND(&c->message_log, 1);          msg = xcalloc(1, sizeof *msg);
         msg = &ARRAY_LAST(&c->message_log);  
         msg->msg_time = time(NULL);          msg->msg_time = time(NULL);
           msg->msg_num = c->message_next++;
         msg->msg = xstrdup(c->message_string);          msg->msg = xstrdup(c->message_string);
           TAILQ_INSERT_TAIL(&c->message_log, msg, entry);
   
         limit = options_get_number(&global_options, "message-limit");          first = c->message_next - limit;
         if (ARRAY_LENGTH(&c->message_log) > limit) {          TAILQ_FOREACH_SAFE(msg, &c->message_log, entry, msg1) {
                 limit = ARRAY_LENGTH(&c->message_log) - limit;                  if (msg->msg_num >= first)
                 for (i = 0; i < limit; i++) {                          continue;
                         msg = &ARRAY_FIRST(&c->message_log);                  free(msg->msg);
                         free(msg->msg);                  TAILQ_REMOVE(&c->message_log, msg, entry);
                         ARRAY_REMOVE(&c->message_log, 0);                  free(msg);
                 }  
         }          }
   
         delay = options_get_number(&c->session->options, "display-time");          delay = options_get_number(&c->session->options, "display-time");

Legend:
Removed from v.1.126  
changed lines
  Added in v.1.127