X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_set_term.c;h=1406b1ad03d0e7e1af6be686f061b47c00c3ebbc;hp=03dff27947f2f99c484ed98da72935f5d6d48b8c;hb=dff527f594001b2aed593868bd7774c86eec813d;hpb=55051e74621a33ee60ea8e38fe1e0a3e38a573ab diff --git a/ncurses/base/lib_set_term.c b/ncurses/base/lib_set_term.c index 03dff279..1406b1ad 100644 --- a/ncurses/base/lib_set_term.c +++ b/ncurses/base/lib_set_term.c @@ -47,7 +47,7 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_set_term.c,v 1.144 2012/08/26 21:11:49 tom Exp $") +MODULE_ID("$Id: lib_set_term.c,v 1.147 2012/12/22 21:30:04 tom Exp $") #ifdef USE_TERM_DRIVER #define MaxColors InfoOf(sp).maxcolors @@ -261,8 +261,8 @@ extract_fgbg(char *src, int *result) } #endif -#define ReturnScreenError() _nc_set_screen(0); \ - returnCode(ERR) +#define ReturnScreenError() { _nc_set_screen(0); \ + returnCode(ERR); } while (0) /* OS-independent screen initializations */ NCURSES_EXPORT(int) @@ -581,9 +581,13 @@ NCURSES_SP_NAME(_nc_setupscreen) ( NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_ARG); #if USE_WIDEC_SUPPORT + sp->_screen_unicode = _nc_unicode_locale(); _nc_init_wacs(); + if (_nc_wacs == 0) { + ReturnScreenError(); + } - sp->_screen_acs_fix = (_nc_unicode_locale() + sp->_screen_acs_fix = (sp->_screen_unicode && _nc_locale_breaks_acs(sp->_term)); #endif env = _nc_get_locale();