X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Fbase%2Flib_set_term.c;h=f1d49a93be4d649a15a6fcb59deb22f508ac23cd;hb=d30f99439fcc8d4bb4c38e5c4afb4f6555fc6ad4;hp=53802209af9bce3dd40b3286d8e18c190ee03de1;hpb=d6c65d287166c3105ece4a5e3f3ec7af5a5f26a3;p=ncurses.git diff --git a/ncurses/base/lib_set_term.c b/ncurses/base/lib_set_term.c index 53802209..f1d49a93 100644 --- a/ncurses/base/lib_set_term.c +++ b/ncurses/base/lib_set_term.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2020,2021 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -54,7 +54,7 @@ #undef CUR #define CUR SP_TERMTYPE -MODULE_ID("$Id: lib_set_term.c,v 1.174 2020/09/09 19:43:00 juergen Exp $") +MODULE_ID("$Id: lib_set_term.c,v 1.176 2021/04/03 22:23:39 tom Exp $") #ifdef USE_TERM_DRIVER #define MaxColors InfoOf(sp).maxcolors @@ -329,9 +329,14 @@ NCURSES_SP_NAME(_nc_setupscreen) ( T(("_nc_alloc_screen_sp %p", (void *) sp)); *spp = sp; } - if (!sp - || ((sp->_acs_map = typeCalloc(chtype, ACS_LEN)) == 0) - || ((sp->_screen_acs_map = typeCalloc(bool, ACS_LEN)) == 0)) { + if (sp == NULL) { + ReturnScreenError(); + } + if ((sp->_acs_map = typeCalloc(chtype, ACS_LEN)) == NULL) { + ReturnScreenError(); + } + if ((sp->_screen_acs_map = typeCalloc(bool, ACS_LEN)) == NULL) { + free(sp->_acs_map); ReturnScreenError(); } @@ -406,6 +411,11 @@ NCURSES_SP_NAME(_nc_setupscreen) ( T(("setting output mode to binary")); fflush(output); setmode(output, O_BINARY); +#endif +#if defined(EXP_WIN32_DRIVER) + T(("setting output mode to binary")); + fflush(output); + _setmode(fileno(output), _O_BINARY); #endif NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_ARGx output, TRUE); sp->_lines = (NCURSES_SIZE_T) slines;