Update of /cvsroot/tmux/tmux
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14482
Modified Files:
status.c
Log Message:
Sync OpenBSD patchset 556:
Remove oldest messages from log when limit is hit, not newest.
Index: status.c
===================================================================
RCS file: /cvsroot/tmux/tmux/status.c,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -d -r1.134 -r1.135
--- status.c 22 Nov 2009 00:09:42 -0000 1.134
+++ status.c 22 Nov 2009 00:10:39 -0000 1.135
@@ -650,10 +650,13 @@
limit = 0;
else
limit = options_get_number(&s->options, "message-limit");
- for (i = ARRAY_LENGTH(&c->message_log); i > limit; i--) {
- msg = &ARRAY_ITEM(&c->message_log, i - 1);
- xfree(msg->msg);
- ARRAY_REMOVE(&c->message_log, i - 1);
+ if (ARRAY_LENGTH(&c->message_log) > limit) {
+ limit = ARRAY_LENGTH(&c->message_log) - limit;
+ for (i = 0; i < limit; i++) {
+ msg = &ARRAY_FIRST(&c->message_log);
+ xfree(msg->msg);
+ ARRAY_REMOVE(&c->message_log, 0);
+ }
}
delay = options_get_number(&c->session->options, "display-time");
|