[ekg2-commit] r4076 - trunk/plugins/ncurses: trunk/plugins/ncurses/old.c trunk/plugins/ncurses/old.h
SVN commit
svn w toxygen.net
Śro, 9 Lip 2008, 13:08:54 CEST
Author: darkjames
Date: 2008-07-09 13:08:53 +0200 (Wed, 09 Jul 2008)
New Revision: 4076
Modified:
trunk/plugins/ncurses/old.c
trunk/plugins/ncurses/old.h
Log:
- remove l->ts_len
- cleanup caching strftime() result
Modified: trunk/plugins/ncurses/old.c
===================================================================
--- trunk/plugins/ncurses/old.c 2008-07-09 10:45:33 UTC (rev 4075)
+++ trunk/plugins/ncurses/old.c 2008-07-09 11:08:53 UTC (rev 4076)
@@ -630,6 +630,7 @@
for (;;) {
int word = 0, width;
+ int ts_len = 0; /* xstrlen(l->ts) */
if (!i)
res++;
@@ -642,7 +643,6 @@
l->attr = attr;
l->len = xwcslen(str);
l->ts = NULL;
- l->ts_len = 0;
l->ts_attr = NULL;
l->backlog = i;
l->margin_left = (!wrapping || margin_left == -1) ? margin_left : 0;
@@ -658,37 +658,31 @@
if (!w->floating && config_timestamp && config_timestamp_show) {
fstring_t *s = NULL;
- if (ts && lastts == ts) { /* use cached value */
- s = fstring_new(lasttsbuf);
- l->ts = s->str.b;
- l->ts_len = xstrlen(l->ts);
- l->ts_attr = s->attr;
-
- xfree(s);
- } else if (render_timstamp) {
+ if (!ts || lastts != ts) { /* generate new */
struct tm *tm = localtime(&ts);
- char *tmp = NULL, *format;
+ char *tmp, *format;
tmp = format_string(config_timestamp);
format = saprintf("%s ", tmp);
strftime(lasttsbuf, sizeof(lasttsbuf)-1, format, tm);
- s = fstring_new(lasttsbuf);
-
- l->ts = s->str.b;
- l->ts_len = xstrlen(l->ts);
- l->ts_attr = s->attr;
-
- xfree(s);
xfree(tmp);
xfree(format);
lastts = ts;
}
+
+ s = fstring_new(lasttsbuf);
+
+ l->ts = s->str.b;
+ ts_len = xstrlen(l->ts);
+ l->ts_attr = s->attr;
+
+ xfree(s);
}
- width = w->width - l->ts_len - l->prompt_len - n->margin_left - n->margin_right;
+ width = w->width - ts_len - l->prompt_len - n->margin_left - n->margin_right;
if ((w->frames & WF_LEFT))
width -= 1;
@@ -1140,10 +1134,7 @@
cur_x = (left);
if (l->ts) {
- /* XXX,
- * po co sprawdzamy l->ts[x] i l->ts_len? nie wystarczy jedno?
- */
- for (x = 0; l->ts[x] && x < l->ts_len; x++, cur_x++) {
+ for (x = 0; l->ts[x]; x++, cur_x++) {
int attr = fstring_attr2ncurses_attr(l->ts_attr[x]);
unsigned char ch = (unsigned char) ncurses_fixchar((CHAR_T) l->ts[x], &attr);
@@ -1152,8 +1143,6 @@
}
}
- cur_x = (left + l->ts_len); /* XXX */
-
if (l->prompt_str) {
for (x = 0; x < l->prompt_len; x++, cur_x++) {
int attr = fstring_attr2ncurses_attr(l->prompt_attr[x]);
@@ -1172,8 +1161,6 @@
}
}
- cur_x = (left + l->ts_len + l->prompt_len); /* XXX */
-
for (x = 0; x < l->len; x++, cur_x++) {
int attr = fstring_attr2ncurses_attr(l->attr[x]);
CHAR_T ch = ncurses_fixchar(l->str[x], &attr);
Modified: trunk/plugins/ncurses/old.h
===================================================================
--- trunk/plugins/ncurses/old.h 2008-07-09 10:45:33 UTC (rev 4075)
+++ trunk/plugins/ncurses/old.h 2008-07-09 11:08:53 UTC (rev 4076)
@@ -36,7 +36,6 @@
int prompt_len; /* długość promptu */
char *ts; /* timestamp */
- int ts_len; /* długość timestampu */
short *ts_attr; /* attributes of the timestamp */
int backlog; /* z której linii backlogu pochodzi? */
Więcej informacji o liście dyskusyjnej ekg2-commit