summaryrefslogtreecommitdiff
path: root/ncurses/base/lib_bkgd.c
diff options
context:
space:
mode:
Diffstat (limited to 'ncurses/base/lib_bkgd.c')
-rw-r--r--ncurses/base/lib_bkgd.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/ncurses/base/lib_bkgd.c b/ncurses/base/lib_bkgd.c
index 0396ba8..c46ca42 100644
--- a/ncurses/base/lib_bkgd.c
+++ b/ncurses/base/lib_bkgd.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2012,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -36,7 +36,7 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_bkgd.c,v 1.43 2011/01/22 19:47:37 tom Exp $")
+MODULE_ID("$Id: lib_bkgd.c,v 1.49 2014/09/04 09:36:20 tom Exp $")
/*
* Set the window's background information.
@@ -85,6 +85,7 @@ wbkgrndset(WINDOW *win, const ARG_CH_T ch)
cchar_t wch;
int tmp;
+ memset(&wch, 0, sizeof(wch));
(void) wgetbkgrnd(win, &wch);
tmp = _nc_to_char((wint_t) CharOf(wch));
@@ -118,16 +119,18 @@ wbkgrnd(WINDOW *win, const ARG_CH_T ch)
{
int code = ERR;
int x, y;
- NCURSES_CH_T new_bkgd = CHDEREF(ch);
T((T_CALLED("wbkgd(%p,%s)"), (void *) win, _tracech_t(ch)));
if (win) {
+ NCURSES_CH_T new_bkgd = CHDEREF(ch);
NCURSES_CH_T old_bkgrnd;
- wgetbkgrnd(win, &old_bkgrnd);
+
+ memset(&old_bkgrnd, 0, sizeof(old_bkgrnd));
+ (void) wgetbkgrnd(win, &old_bkgrnd);
(void) wbkgrndset(win, CHREF(new_bkgd));
- (void) wattrset(win, AttrOf(win->_nc_bkgd));
+ (void) wattrset(win, (int) AttrOf(win->_nc_bkgd));
for (y = 0; y <= win->_maxy; y++) {
for (x = 0; x <= win->_maxx; x++) {