⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ripoffline.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
/*	Copyright (c) 1984 AT&T	*//*	  All Rights Reserved  	*//*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*//*	The copyright notice above does not evidence any   	*//*	actual or intended publication of such source code.	*/#ifndef lintstatic	char sccsid[] = "@(#)ripoffline.c 1.1 92/07/30 SMI"; /* from S5R3.1 1.8 */#endif/* * This routine is used by initialization routines. It sets it up * such that a line is removed from the user's screen by initscr. This * function must be called BEFORE initscr. It works by leaving a cookie  * which tells initscr to reduce the size of stdscr by one for each line * ripped off. This routine has been generalized so that other applications * can make use of it in a straightforward manner. */#include "curses_inc.h"static	struct _ripdef{    int line;    int (*initfunction)();} _ripstruct[5];static char _ripcounter;static	void_init_rip_func (){    int     i,flag;    for (i = 0; i < _ripcounter; i++)    {	LINES = --SP->lsize;/* * We don't need to check for newwin returning NULL because even if * we did and broke from the for loop, the application's initfunction * would not be called and they would have a NULL window pointer.  Their * code would then blow up if they don't check it anyway.  Therefore, * we can send in the newwin and their code has to check for NULL in either * case. * * NOTE:  The application has the responsibilty to do a delwin !!! */	(*_ripstruct[i].initfunction) (newwin(1, COLS, ((flag = _ripstruct[i].line) > 0) ? 0 : LINES, 0), COLS);	if (flag > 0)	    SP->Yabove++;    }    _ripcounter = 0;}ripoffline (line, initfunction)int line;int (*initfunction)();{    if (_ripcounter < 5)    {	_ripstruct[_ripcounter].line = line;	_ripstruct[_ripcounter++].initfunction = initfunction;    }    _rip_init = _init_rip_func;    return (OK);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -