[2874] in BarnOwl Developers
[PATCH 1/2] Refactor some common code in colorpair_mgr
daemon@ATHENA.MIT.EDU (David Benjamin)
Tue Jan 25 17:51:06 2011
From: David Benjamin <davidben@MIT.EDU>
To: barnowl-dev@mit.edu
Date: Tue, 25 Jan 2011 17:50:16 -0500
---
fmtext.c | 35 +++++++++++------------------------
mainwin.c | 2 +-
2 files changed, 12 insertions(+), 25 deletions(-)
diff --git a/fmtext.c b/fmtext.c
index bb36d94..b31fc34 100644
--- a/fmtext.c
+++ b/fmtext.c
@@ -910,41 +910,28 @@ void owl_fmtext_cleanup(owl_fmtext *f)
void owl_fmtext_init_colorpair_mgr(owl_colorpair_mgr *cpmgr)
{
/* This could be a bitarray if we wanted to save memory. */
- short i, j;
- cpmgr->next = 8;
-
+ short i;
/* The test is <= because we allocate COLORS+1 entries. */
cpmgr->pairs = owl_malloc((COLORS+1) * sizeof(short*));
for(i = 0; i <= COLORS; i++) {
cpmgr->pairs[i] = owl_malloc((COLORS+1) * sizeof(short));
- for(j = 0; j <= COLORS; j++) {
- cpmgr->pairs[i][j] = -1;
- }
- }
- if (owl_global_get_hascolors(&g)) {
- for(i = 0; i < 8; i++) {
- short fg, bg;
- if (i >= COLORS) continue;
- pair_content(i, &fg, &bg);
- cpmgr->pairs[fg+1][bg+1] = i;
- }
}
+ owl_fmtext_reset_colorpairs(cpmgr);
}
/* Reset used list */
-void owl_fmtext_reset_colorpairs(void)
+void owl_fmtext_reset_colorpairs(owl_colorpair_mgr *cpmgr)
{
- if (owl_global_get_hascolors(&g)) {
- short i, j;
- owl_colorpair_mgr *cpmgr = owl_global_get_colorpair_mgr(&g);
- cpmgr->next = 8;
-
+ short i, j;
+
+ cpmgr->next = 8;
/* The test is <= because we allocated COLORS+1 entries. */
- for(i = 0; i <= COLORS; i++) {
- for(j = 0; j <= COLORS; j++) {
- cpmgr->pairs[i][j] = -1;
- }
+ for(i = 0; i <= COLORS; i++) {
+ for(j = 0; j <= COLORS; j++) {
+ cpmgr->pairs[i][j] = -1;
}
+ }
+ if (owl_global_get_hascolors(&g)) {
for(i = 0; i < 8; i++) {
short fg, bg;
if (i >= COLORS) continue;
diff --git a/mainwin.c b/mainwin.c
index e5cc837..5d78135 100644
--- a/mainwin.c
+++ b/mainwin.c
@@ -52,7 +52,7 @@ static void owl_mainwin_redraw(owl_window *w, WINDOW *recwin, void *user_data)
curmsg = owl_global_get_curmsg(&g);
markedmsgid = owl_global_get_markedmsgid(&g);
v = owl_global_get_current_view(&g);
- owl_fmtext_reset_colorpairs();
+ owl_fmtext_reset_colorpairs(owl_global_get_colorpair_mgr(&g));
if (v==NULL) {
owl_function_debugmsg("Hit a null window in owl_mainwin_redisplay.");
--
1.7.3.3.399.g06ddf