[606] in BarnOwl Developers
[D-O-H] r711 - trunk/owl
daemon@ATHENA.MIT.EDU (asedeno@MIT.EDU)
Thu Oct 29 18:07:53 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
To: dirty-owl-hackers@mit.edu
From: asedeno@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Wed, 16 May 2007 22:21:31 -0400 (EDT)
Author: asedeno
Date: 2007-05-16 22:21:30 -0400 (Wed, 16 May 2007)
New Revision: 711
Modified:
trunk/owl/fmtext.c
Log:
Do not initialize the colorpair manager array if we don't have
colors. More specifically, do not write into arrays we have not
allocated and segfault.
Modified: trunk/owl/fmtext.c
===================================================================
--- trunk/owl/fmtext.c 2007-05-16 23:21:56 UTC (rev 710)
+++ trunk/owl/fmtext.c 2007-05-17 02:21:30 UTC (rev 711)
@@ -700,31 +700,37 @@
cpmgr->pairs[i][j] = -1;
}
}
- for(i = 0; i < 8; i++) {
- short fg, bg;
- pair_content(i, &fg, &bg);
- cpmgr->pairs[fg+1][bg+1] = i;
+ 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;
+ }
}
}
/* Reset used list */
void owl_fmtext_reset_colorpairs()
{
- short i, j;
- owl_colorpair_mgr *cpmgr = owl_global_get_colorpair_mgr(&g);
- 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;
+ if (owl_global_get_hascolors(&g)) {
+ short i, j;
+ owl_colorpair_mgr *cpmgr = owl_global_get_colorpair_mgr(&g);
+ 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 < 8; i++) {
+ short fg, bg;
+ if (i >= COLORS) continue;
+ pair_content(i, &fg, &bg);
+ cpmgr->pairs[fg+1][bg+1] = i;
+ }
}
- for(i = 0; i < 8; i++) {
- short fg, bg;
- pair_content(i, &fg, &bg);
- cpmgr->pairs[fg+1][bg+1] = i;
- }
}
/* Assign pairs by request */