X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Ftinfo%2Flib_setup.c;h=73e5a3231d259dd24ebc687d9967d53f56237b5d;hb=2b7c2fd2f9d58719770902ce4d0d0aeb87b284f7;hp=04ce4e465f32c4dab2cfecfa15c4eb96b0a3d95e;hpb=119b5a6788c26bf7dcc99fcfd54e072946352a93;p=ncurses.git diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c index 04ce4e46..73e5a323 100644 --- a/ncurses/tinfo/lib_setup.c +++ b/ncurses/tinfo/lib_setup.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. * + * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 1998-2016,2017 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 * @@ -48,7 +49,7 @@ #include #endif -MODULE_ID("$Id: lib_setup.c,v 1.206 2019/11/03 00:07:45 tom Exp $") +MODULE_ID("$Id: lib_setup.c,v 1.210 2020/09/06 21:03:33 tom Exp $") /**************************************************************************** * @@ -304,11 +305,19 @@ _nc_get_screensize(SCREEN *sp, bool useEnv = _nc_prescreen.use_env; bool useTioctl = _nc_prescreen.use_tioctl; +#ifdef EXP_WIN32_DRIVER + /* If we are here, then Windows console is used in terminfo mode. + We need to figure out the size using the console API + */ + _nc_console_size(linep, colp); + T(("screen size: winconsole lines = %d columns = %d", *linep, *colp)); +#else /* figure out the size of the screen */ T(("screen size: terminfo lines = %d columns = %d", lines, columns)); *linep = (int) lines; *colp = (int) columns; +#endif #if NCURSES_SP_FUNCS if (sp) { @@ -565,7 +574,7 @@ NCURSES_EXPORT(int) _nc_unicode_locale(void) { int result = 0; -#if defined(_WIN32) && USE_WIDEC_SUPPORT +#if defined(_NC_WINDOWS) && USE_WIDEC_SUPPORT result = 1; #elif HAVE_LANGINFO_CODESET char *env = nl_langinfo(CODESET); @@ -654,13 +663,15 @@ TINFO_SETUP_TERM(TERMINAL **tp, if (tname == 0) { tname = getenv("TERM"); - if (tname == 0 || *tname == '\0') { -#ifdef USE_TERM_DRIVER +#if defined(USE_TERM_DRIVER) && !defined(EXP_WIN32_DRIVER) + if (!NonEmpty(tname)) tname = "unknown"; #else + if (!CHECK_TERM_ENV(tname, NO_TERMINAL)) { + T(("Failure with TERM=%s", tname)); ret_error0(TGETENT_ERR, "TERM environment variable not set.\n"); -#endif } +#endif } myname = strdup(tname);