commit 8295a88ff0f15f2c5266b1e1f576cfe8896c6fc7
parent a77efae609402f50426849f83e4aa1e5d50e03b6
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Fri, 18 Dec 2015 10:41:09 +0000
Using a couple less #ifdefs, to mimic how this is done in set_colorpairs().
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5495 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,6 @@
+2015-12-18 Benno Schulenberg <bensberg@justemail.net>
+ * src/color.c (color_init): Use less #ifdefs.
+
2015-12-11 Benno Schulenberg <bensberg@justemail.net>
* doc/syntax/Makefile.am: Add missing autoconf and nftables syntaxes.
* ChangeLog: Correct a bug number, plus a few other tweaks.
diff --git a/src/color.c b/src/color.c
@@ -101,39 +101,38 @@ void set_colorpairs(void)
/* Initialize the color information. */
void color_init(void)
{
+ colortype *tmpcolor = openfile->colorstrings;
+ bool using_defaults = FALSE;
+ short foreground, background;
+
assert(openfile != NULL);
- if (has_colors()) {
- const colortype *tmpcolor;
+ /* If the terminal is not capable of colors, forget it. */
+ if (!has_colors())
+ return;
+
#ifdef HAVE_USE_DEFAULT_COLORS
- /* Use the default colors, if available. */
- bool defok = (use_default_colors() != ERR);
+ /* Allow using the default colors, if available. */
+ using_defaults = (use_default_colors() != ERR);
#endif
- for (tmpcolor = openfile->colorstrings; tmpcolor != NULL;
+ for (; tmpcolor != NULL;
tmpcolor = tmpcolor->next) {
- short foreground = tmpcolor->fg, background = tmpcolor->bg;
- if (foreground == -1) {
-#ifdef HAVE_USE_DEFAULT_COLORS
- if (!defok)
-#endif
+ foreground = tmpcolor->fg;
+ background = tmpcolor->bg;
+
+ if (foreground == -1 && !using_defaults)
foreground = COLOR_WHITE;
- }
- if (background == -1) {
-#ifdef HAVE_USE_DEFAULT_COLORS
- if (!defok)
-#endif
+ if (background == -1 && !using_defaults)
background = COLOR_BLACK;
- }
init_pair(tmpcolor->pairnum, foreground, background);
#ifdef DEBUG
- fprintf(stderr, "init_pair(): fg = %hd, bg = %hd\n", tmpcolor->fg, tmpcolor->bg);
+ fprintf(stderr, "init_pair(): fg = %hd, bg = %hd\n", foreground, background);
#endif
}
- }
}
/* Clean up a regex we previously compiled. */