X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Flib_setup.c;h=21523e053083cbc1ff713078c449759cd4f69267;hp=0a0a1f5badb50acade9f406776c5a5708c82509b;hb=3e0f770501852be3a2cb05d8044219d7b04dbfad;hpb=91e802b0dd5f97879f57d12e9dd758e59ab8abb8 diff --git a/ncurses/tinfo/lib_setup.c b/ncurses/tinfo/lib_setup.c index 0a0a1f5b..21523e05 100644 --- a/ncurses/tinfo/lib_setup.c +++ b/ncurses/tinfo/lib_setup.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. * + * Copyright (c) 1998-2015,2016 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.164 2015/06/27 18:10:55 tom Exp $") +MODULE_ID("$Id: lib_setup.c,v 1.166 2016/05/28 21:55:30 tom Exp $") /**************************************************************************** * @@ -305,8 +305,6 @@ _nc_get_screensize(SCREEN *sp, *colp = (int) columns; if (_nc_prescreen.use_env || _nc_prescreen.use_tioctl) { - int value; - #ifdef __EMX__ { int screendata[2]; @@ -341,6 +339,8 @@ _nc_get_screensize(SCREEN *sp, #endif /* HAVE_SIZECHANGE */ if (_nc_prescreen.use_env) { + int value; + if (_nc_prescreen.use_tioctl) { /* * If environment variables are used, update them. @@ -494,8 +494,6 @@ _nc_setup_tinfo(const char *const tn, TERMTYPE *const tp) void _nc_tinfo_cmdch(TERMINAL * termp, int proto) { - unsigned i; - char CC; char *tmp; /* @@ -504,7 +502,9 @@ _nc_tinfo_cmdch(TERMINAL * termp, int proto) * name as an environment variable - using the same symbol. */ if ((tmp = getenv("CC")) != 0 && strlen(tmp) == 1) { - CC = *tmp; + unsigned i; + char CC = *tmp; + for_each_string(i, &(termp->type)) { for (tmp = termp->type.Strings[i]; tmp && *tmp; tmp++) { if (UChar(*tmp) == proto) @@ -610,8 +610,6 @@ TINFO_SETUP_TERM(TERMINAL ** tp, { #ifdef USE_TERM_DRIVER TERMINAL_CONTROL_BLOCK *TCB = 0; -#else - int status; #endif TERMINAL *termp; SCREEN *sp = 0; @@ -692,6 +690,8 @@ TINFO_SETUP_TERM(TERMINAL ** tp, my_tcb = typeCalloc(TERMINAL_CONTROL_BLOCK, 1); termp = &(my_tcb->term); #else + int status; + termp = typeCalloc(TERMINAL, 1); #endif if (termp == 0) { @@ -808,29 +808,27 @@ TINFO_SETUP_TERM(TERMINAL ** tp, NCURSES_EXPORT(SCREEN *) new_prescr(void) { - static SCREEN *sp; + SCREEN *sp; START_TRACE(); T((T_CALLED("new_prescr()"))); - if (sp == 0) { - sp = _nc_alloc_screen_sp(); - if (sp != 0) { - sp->rsp = sp->rippedoff; - sp->_filtered = _nc_prescreen.filter_mode; - sp->_use_env = _nc_prescreen.use_env; + sp = _nc_alloc_screen_sp(); + if (sp != 0) { + sp->rsp = sp->rippedoff; + sp->_filtered = _nc_prescreen.filter_mode; + sp->_use_env = _nc_prescreen.use_env; #if NCURSES_NO_PADDING - sp->_no_padding = _nc_prescreen._no_padding; + sp->_no_padding = _nc_prescreen._no_padding; #endif - sp->slk_format = 0; - sp->_slk = 0; - sp->_prescreen = TRUE; - SP_PRE_INIT(sp); + sp->slk_format = 0; + sp->_slk = 0; + sp->_prescreen = TRUE; + SP_PRE_INIT(sp); #if USE_REENTRANT - sp->_TABSIZE = _nc_prescreen._TABSIZE; - sp->_ESCDELAY = _nc_prescreen._ESCDELAY; + sp->_TABSIZE = _nc_prescreen._TABSIZE; + sp->_ESCDELAY = _nc_prescreen._ESCDELAY; #endif - } } returnSP(sp); }