X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Flib_setup.c;h=8446c8030d34b5b09518b9c3603c67fabd6ebc65;hp=23239969a84c974ed2c1776c6f4413dddf2f0fc9;hb=58552e8c761a70f8f0bd591fecdf576fa8216e3e;hpb=5461fc336d03fbfea6b85ac21c6d49c528f6752d diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c index 23239969..8446c803 100644 --- a/ncurses/tinfo/lib_setup.c +++ b/ncurses/tinfo/lib_setup.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. * + * Copyright (c) 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 +48,7 @@ #include #endif -MODULE_ID("$Id: lib_setup.c,v 1.167 2016/09/10 20:07:30 tom Exp $") +MODULE_ID("$Id: lib_setup.c,v 1.170 2017/01/07 16:50:16 tom Exp $") /**************************************************************************** * @@ -220,9 +220,9 @@ _nc_handle_sigwinch(SCREEN *sp) NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (NCURSES_SP_DCLx bool f) { + START_TRACE(); T((T_CALLED("use_env(%p,%d)"), (void *) SP_PARM, (int) f)); #if NCURSES_SP_FUNCS - START_TRACE(); if (IsPreScreen(SP_PARM)) { SP_PARM->_use_env = f; } @@ -235,11 +235,11 @@ NCURSES_SP_NAME(use_env) (NCURSES_SP_DCLx bool f) NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (NCURSES_SP_DCLx bool f) { + START_TRACE(); T((T_CALLED("use_tioctl(%p,%d)"), (void *) SP_PARM, (int) f)); #if NCURSES_SP_FUNCS - START_TRACE(); if (IsPreScreen(SP_PARM)) { - SP_PARM->_use_tioctl = f; + SP_PARM->use_tioctl = f; } #else _nc_prescreen.use_tioctl = f; @@ -251,8 +251,8 @@ NCURSES_SP_NAME(use_tioctl) (NCURSES_SP_DCLx bool f) NCURSES_EXPORT(void) use_env(bool f) { - T((T_CALLED("use_env(%d)"), (int) f)); START_TRACE(); + T((T_CALLED("use_env(%d)"), (int) f)); _nc_prescreen.use_env = f; returnVoid; } @@ -260,8 +260,8 @@ use_env(bool f) NCURSES_EXPORT(void) use_tioctl(bool f) { - T((T_CALLED("use_tioctl(%d)"), (int) f)); START_TRACE(); + T((T_CALLED("use_tioctl(%d)"), (int) f)); _nc_prescreen.use_tioctl = f; returnVoid; } @@ -297,6 +297,8 @@ _nc_get_screensize(SCREEN *sp, #else /* !USE_TERM_DRIVER */ TERMINAL *termp = cur_term; int my_tabsize; + bool useEnv = _nc_prescreen.use_env; + bool useTioctl = _nc_prescreen.use_tioctl; /* figure out the size of the screen */ T(("screen size: terminfo lines = %d columns = %d", lines, columns)); @@ -304,7 +306,14 @@ _nc_get_screensize(SCREEN *sp, *linep = (int) lines; *colp = (int) columns; - if (_nc_prescreen.use_env || _nc_prescreen.use_tioctl) { +#if NCURSES_SP_FUNCS + if (sp) { + useEnv = sp->_use_env; + useTioctl = sp->use_tioctl; + } +#endif + + if (useEnv || useTioctl) { #ifdef __EMX__ { int screendata[2]; @@ -338,10 +347,10 @@ _nc_get_screensize(SCREEN *sp, } #endif /* HAVE_SIZECHANGE */ - if (_nc_prescreen.use_env) { + if (useEnv) { int value; - if (_nc_prescreen.use_tioctl) { + if (useTioctl) { /* * If environment variables are used, update them. */