Print this page
5396 gcc 4.8.2 longjmp errors for cscope-fast


   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*

  23  * Copyright (c) 1995, by Sun Microsystems, Inc.
  24  * All rights reserved.
  25  */
  26 
  27 #pragma ident   "%Z%%M% %I%     %E% SMI"
  28 
  29 /*
  30  * doupdate.c
  31  *
  32  * XCurses Library
  33  *
  34  * Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved.
  35  *
  36  */
  37 
  38 #ifdef M_RCSID
  39 #ifndef lint
  40 static char const rcsID[] = "$Header: /rd/src/libc/xcurses/rcs/doupdate.c 1.9 1995/07/26 17:45:06 ant Exp $";
  41 #endif
  42 #endif
  43 
  44 #include <private.h>
  45 #include <string.h>
  46 #include <setjmp.h>
  47 #include <signal.h>
  48 


 896  * Send all changes made to _newscr to the physical terminal.
 897  *
 898  * If idlok() is set TRUE then doupdate will try and use hardware insert
 899  * and delete line sequences in an effort to optimize output.  idlok()
 900  * should really only be used in applications that want a proper scrolling
 901  * effect.
 902  * 
 903  * Added scroll heuristic to handle special case where a full size window
 904  * with full size scroll region, will scroll the window and replace dirty
 905  * lines instead of performing usual cost/script operations.
 906  */
 907 int 
 908 doupdate()
 909 {
 910 #ifdef SIGTSTP
 911         int (*oldsig)(int) = signal(SIGTSTP, SIG_IGN);
 912 #endif
 913 
 914 #ifdef M_CURSES_TYPEAHEAD
 915         unsigned char cc;
 916         int min, time, icanon;
 917 
 918         if (__m_screen->_flags & S_ISATTY) {
 919                 /* Set up non-blocking input for typeahead trapping. */
 920                 min = cur_term->_prog.c_cc[VMIN];
 921                 time = cur_term->_prog.c_cc[VTIME];
 922                 icanon = cur_term->_prog.c_lflag & ICANON;
 923 
 924                 cur_term->_prog.c_cc[VMIN] = 0;
 925                 cur_term->_prog.c_cc[VTIME] = 0;
 926                 cur_term->_prog.c_lflag &= ~ICANON;
 927 
 928                 (void) tcsetattr(__m_screen->_kfd, TCSANOW, &cur_term->_prog);
 929         }
 930 #endif /* M_CURSES_TYPEAHEAD */
 931 
 932 #ifdef M_CURSES_TRACE
 933         __m_trace(
 934                 "doupdate(void) using %s algorithm.", 
 935                 (__m_screen->_flags & S_INS_DEL_LINE) ? "complex" : "simple"
 936         );




   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*
  23  * Copyright 2015 Gary Mills
  24  * Copyright (c) 1995, by Sun Microsystems, Inc.
  25  * All rights reserved.
  26  */
  27 


  28 /*
  29  * doupdate.c
  30  *
  31  * XCurses Library
  32  *
  33  * Copyright 1990, 1995 by Mortice Kern Systems Inc.  All rights reserved.
  34  *
  35  */
  36 
  37 #ifdef M_RCSID
  38 #ifndef lint
  39 static char const rcsID[] = "$Header: /rd/src/libc/xcurses/rcs/doupdate.c 1.9 1995/07/26 17:45:06 ant Exp $";
  40 #endif
  41 #endif
  42 
  43 #include <private.h>
  44 #include <string.h>
  45 #include <setjmp.h>
  46 #include <signal.h>
  47 


 895  * Send all changes made to _newscr to the physical terminal.
 896  *
 897  * If idlok() is set TRUE then doupdate will try and use hardware insert
 898  * and delete line sequences in an effort to optimize output.  idlok()
 899  * should really only be used in applications that want a proper scrolling
 900  * effect.
 901  * 
 902  * Added scroll heuristic to handle special case where a full size window
 903  * with full size scroll region, will scroll the window and replace dirty
 904  * lines instead of performing usual cost/script operations.
 905  */
 906 int 
 907 doupdate()
 908 {
 909 #ifdef SIGTSTP
 910         int (*oldsig)(int) = signal(SIGTSTP, SIG_IGN);
 911 #endif
 912 
 913 #ifdef M_CURSES_TYPEAHEAD
 914         unsigned char cc;
 915         volatile int min, time, icanon;
 916 
 917         if (__m_screen->_flags & S_ISATTY) {
 918                 /* Set up non-blocking input for typeahead trapping. */
 919                 min = cur_term->_prog.c_cc[VMIN];
 920                 time = cur_term->_prog.c_cc[VTIME];
 921                 icanon = cur_term->_prog.c_lflag & ICANON;
 922 
 923                 cur_term->_prog.c_cc[VMIN] = 0;
 924                 cur_term->_prog.c_cc[VTIME] = 0;
 925                 cur_term->_prog.c_lflag &= ~ICANON;
 926 
 927                 (void) tcsetattr(__m_screen->_kfd, TCSANOW, &cur_term->_prog);
 928         }
 929 #endif /* M_CURSES_TYPEAHEAD */
 930 
 931 #ifdef M_CURSES_TRACE
 932         __m_trace(
 933                 "doupdate(void) using %s algorithm.", 
 934                 (__m_screen->_flags & S_INS_DEL_LINE) ? "complex" : "simple"
 935         );