insch.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 41 行

C
41
字号
#ifdef lintstatic char *sccsid = "@(#)insch.c	4.1	(ULTRIX)	7/2/90";#endif lint# include	"curses.ext"/* *	This routine performs an insert-char on the line, leaving * (_cury,_curx) unchanged. * * @(#)insch.c	1.2 (Berkeley) 4/17/81 */winsch(win, c)reg WINDOW	*win;chtype		c; {	register chtype	*temp1, *temp2;	register chtype	*end;	c &= A_CHARTEXT;	end = &win->_y[win->_cury][win->_curx];	temp1 = &win->_y[win->_cury][win->_maxx - 1];	temp2 = temp1 - 1;	while (temp1 > end)		*temp1-- = *temp2--;	*temp1 = c;	win->_lastch[win->_cury] = win->_maxx - 1;	if (win->_firstch[win->_cury] == _NOCHANGE ||	    win->_firstch[win->_cury] > win->_curx)		win->_firstch[win->_cury] = win->_curx;	if (win->_cury == LINES - 1 && win->_y[LINES-1][COLS-1] != ' ')		if (win->_scroll && !(win->_flags&_ISPAD)) {			wrefresh(win);			scroll(win);			win->_cury--;		}		else			return ERR;	return OK;}

⌨️ 快捷键说明

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